From f7f68df4cb5ab95393810aed5fa4365370ec5417 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Fri, 12 Jan 2024 14:45:32 -0500 Subject: [PATCH] Release v1.49.20 (2024-01-12) (#5140) Release v1.49.20 (2024-01-12) === ### Service Client Updates * `service/connect`: Updates service API and documentation * `service/connectparticipant`: Updates service API * `service/location`: Updates service documentation * `service/mwaa`: Updates service API and documentation * `service/s3control`: Adds new service * S3 On Outposts team adds dualstack endpoints support for S3Control and S3Outposts API calls. * `service/supplychain`: Adds new service * `service/transfer`: Updates service API and documentation * AWS Transfer Family now supports static IP addresses for SFTP & AS2 connectors and for async MDNs on AS2 servers. --- CHANGELOG.md | 14 + aws/endpoints/defaults.go | 23 + aws/version.go | 2 +- models/apis/connect/2017-08-08/api-2.json | 8 +- models/apis/connect/2017-08-08/docs-2.json | 20 +- .../connectparticipant/2018-09-07/api-2.json | 9 +- .../2018-09-07/endpoint-rule-set-1.json | 44 +- models/apis/location/2020-11-19/docs-2.json | 18 +- models/apis/mwaa/2020-07-01/api-2.json | 8 + models/apis/mwaa/2020-07-01/docs-2.json | 12 + .../2018-08-20/endpoint-rule-set-1.json | 337 +++++- .../2018-08-20/endpoint-tests-1.json | 315 +++++- models/apis/supplychain/2024-01-01/api-2.json | 229 ++++ .../apis/supplychain/2024-01-01/docs-2.json | 114 ++ .../2024-01-01/endpoint-rule-set-1.json | 350 +++++++ .../2024-01-01/endpoint-tests-1.json | 314 ++++++ .../supplychain/2024-01-01/examples-1.json | 5 + .../supplychain/2024-01-01/paginators-1.json | 4 + models/apis/transfer/2018-11-05/api-2.json | 14 +- models/apis/transfer/2018-11-05/docs-2.json | 15 +- models/endpoints/endpoints.json | 17 + service/connect/api.go | 65 +- service/connectparticipant/api.go | 11 + service/locationservice/api.go | 116 ++- service/mwaa/api.go | 19 + service/supplychain/api.go | 981 ++++++++++++++++++ service/supplychain/doc.go | 38 + service/supplychain/errors.go | 62 ++ service/supplychain/service.go | 106 ++ .../supplychain/supplychainiface/interface.go | 72 ++ service/transfer/api.go | 28 +- 31 files changed, 3189 insertions(+), 181 deletions(-) create mode 100644 models/apis/supplychain/2024-01-01/api-2.json create mode 100644 models/apis/supplychain/2024-01-01/docs-2.json create mode 100644 models/apis/supplychain/2024-01-01/endpoint-rule-set-1.json create mode 100644 models/apis/supplychain/2024-01-01/endpoint-tests-1.json create mode 100644 models/apis/supplychain/2024-01-01/examples-1.json create mode 100644 models/apis/supplychain/2024-01-01/paginators-1.json create mode 100644 service/supplychain/api.go create mode 100644 service/supplychain/doc.go create mode 100644 service/supplychain/errors.go create mode 100644 service/supplychain/service.go create mode 100644 service/supplychain/supplychainiface/interface.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 81c9b4d012e..fd61c1e2daf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +Release v1.49.20 (2024-01-12) +=== + +### Service Client Updates +* `service/connect`: Updates service API and documentation +* `service/connectparticipant`: Updates service API +* `service/location`: Updates service documentation +* `service/mwaa`: Updates service API and documentation +* `service/s3control`: Adds new service + * S3 On Outposts team adds dualstack endpoints support for S3Control and S3Outposts API calls. +* `service/supplychain`: Adds new service +* `service/transfer`: Updates service API and documentation + * AWS Transfer Family now supports static IP addresses for SFTP & AS2 connectors and for async MDNs on AS2 servers. + Release v1.49.19 (2024-01-11) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 3330dd4342e..69418ba1c7f 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -35485,6 +35485,29 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "iottwinmaker": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "api-cn-north-1", + }: endpoint{ + Hostname: "api.iottwinmaker.cn-north-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + endpointKey{ + Region: "data-cn-north-1", + }: endpoint{ + Hostname: "data.iottwinmaker.cn-north-1.amazonaws.com.cn", + CredentialScope: credentialScope{ + Region: "cn-north-1", + }, + }, + }, + }, "kafka": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 0daf567205b..c4fc2717ddf 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.49.19" +const SDKVersion = "1.49.20" diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index dd6562f2f06..beebc0e4a70 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -8033,7 +8033,7 @@ }, "EvaluationNoteString":{ "type":"string", - "max":1024, + "max":3072, "min":0 }, "EvaluationNotesMap":{ @@ -8929,7 +8929,8 @@ "EARLY_MEDIA", "MULTI_PARTY_CONFERENCE", "HIGH_VOLUME_OUTBOUND", - "ENHANCED_CONTACT_MONITORING" + "ENHANCED_CONTACT_MONITORING", + "ENHANCED_CHAT_MONITORING" ] }, "InstanceAttributeValue":{ @@ -11017,7 +11018,8 @@ "AGENT", "CUSTOMER", "SYSTEM", - "CUSTOM_BOT" + "CUSTOM_BOT", + "SUPERVISOR" ] }, "ParticipantTimerAction":{ diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index d32be2e3524..15ee8eee56a 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -628,7 +628,7 @@ "AllowedMonitorCapabilities": { "base": null, "refs": { - "MonitorContactRequest$AllowedMonitorCapabilities": "

Specify which monitoring actions the user is allowed to take. For example, whether the user is allowed to escalate from silent monitoring to barge.

" + "MonitorContactRequest$AllowedMonitorCapabilities": "

Specify which monitoring actions the user is allowed to take. For example, whether the user is allowed to escalate from silent monitoring to barge. AllowedMonitorCapabilities is required if barge is enabled.

" } }, "AnalyticsDataAssociationResult": { @@ -1870,7 +1870,7 @@ "CurrentMetrics": { "base": null, "refs": { - "GetCurrentMetricDataRequest$CurrentMetrics": "

The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

Name in real-time metrics report: ACW

AGENTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Available

AGENTS_ERROR

Unit: COUNT

Name in real-time metrics report: Error

AGENTS_NON_PRODUCTIVE

Unit: COUNT

Name in real-time metrics report: NPT (Non-Productive Time)

AGENTS_ON_CALL

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ON_CONTACT

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ONLINE

Unit: COUNT

Name in real-time metrics report: Online

AGENTS_STAFFED

Unit: COUNT

Name in real-time metrics report: Staffed

CONTACTS_IN_QUEUE

Unit: COUNT

Name in real-time metrics report: In queue

CONTACTS_SCHEDULED

Unit: COUNT

Name in real-time metrics report: Scheduled

OLDEST_CONTACT_AGE

Unit: SECONDS

When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:

{ \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0 }

The actual OLDEST_CONTACT_AGE is 24 seconds.

Name in real-time metrics report: Oldest

SLOTS_ACTIVE

Unit: COUNT

Name in real-time metrics report: Active

SLOTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Availability

" + "GetCurrentMetricDataRequest$CurrentMetrics": "

The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

Name in real-time metrics report: ACW

AGENTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Available

AGENTS_ERROR

Unit: COUNT

Name in real-time metrics report: Error

AGENTS_NON_PRODUCTIVE

Unit: COUNT

Name in real-time metrics report: NPT (Non-Productive Time)

AGENTS_ON_CALL

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ON_CONTACT

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ONLINE

Unit: COUNT

Name in real-time metrics report: Online

AGENTS_STAFFED

Unit: COUNT

Name in real-time metrics report: Staffed

CONTACTS_IN_QUEUE

Unit: COUNT

Name in real-time metrics report: In queue

CONTACTS_SCHEDULED

Unit: COUNT

Name in real-time metrics report: Scheduled

OLDEST_CONTACT_AGE

Unit: SECONDS

When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:

{ \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0 }

The actual OLDEST_CONTACT_AGE is 24 seconds.

When the filter RoutingStepExpression is used, this metric is still calculated from enqueue time. For example, if a contact that has been queued under <Expression 1> for 10 seconds has expired and <Expression 2> becomes active, then OLDEST_CONTACT_AGE for this queue will be counted starting from 10, not 0.

Name in real-time metrics report: Oldest

SLOTS_ACTIVE

Unit: COUNT

Name in real-time metrics report: Active

SLOTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Availability

" } }, "DataSetId": { @@ -2899,7 +2899,7 @@ "EvaluationNoteString": { "base": null, "refs": { - "EvaluationNote$Value": "

The note for an item (section or question) in a contact evaluation.

" + "EvaluationNote$Value": "

The note for an item (section or question) in a contact evaluation.

Even though a note in an evaluation can have up to 3072 chars, there is also a limit on the total number of chars for all the notes in the evaluation combined. Assuming there are N questions in the evaluation being submitted, then the max char limit for all notes combined is N x 1024.

" } }, "EvaluationNotesMap": { @@ -3033,14 +3033,14 @@ "Filters": { "base": "

Contains the filter to apply when retrieving metrics.

", "refs": { - "GetCurrentMetricDataRequest$Filters": "

The filters to apply to returned metrics. You can filter up to the following limits:

Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.

Currently tagging is only supported on the resources that are passed in the filter.

", - "GetMetricDataRequest$Filters": "

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.

To filter by Queues, enter the queue ID/ARN, not the name of the queue.

" + "GetCurrentMetricDataRequest$Filters": "

The filters to apply to returned metrics. You can filter up to the following limits:

Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.

When using RoutingStepExpression, you need to pass exactly one QueueId.

Currently tagging is only supported on the resources that are passed in the filter.

", + "GetMetricDataRequest$Filters": "

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. VOICE, CHAT, and TASK channels are supported.

RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

To filter by Queues, enter the queue ID/ARN, not the name of the queue.

" } }, "FiltersV2List": { "base": null, "refs": { - "GetMetricDataV2Request$Filters": "

The filters to apply to returned metrics. You can filter on the following resources:

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

" + "GetMetricDataV2Request$Filters": "

The filters to apply to returned metrics. You can filter on the following resources:

At least one filter must be passed from queues, routing profiles, agents, or user hierarchy groups.

To filter by phone number, see Create a historical metrics report in the Amazon Connect Administrator's Guide.

Note the following limits:

" } }, "FlowAssociationResourceType": { @@ -3194,14 +3194,14 @@ "Groupings": { "base": null, "refs": { - "GetCurrentMetricDataRequest$Groupings": "

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

", - "GetMetricDataRequest$Groupings": "

The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

If no grouping is specified, a summary of metrics for all queues is returned.

" + "GetCurrentMetricDataRequest$Groupings": "

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues.

", + "GetMetricDataRequest$Groupings": "

The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

If no grouping is specified, a summary of metrics for all queues is returned.

RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

" } }, "GroupingsV2": { "base": null, "refs": { - "GetMetricDataV2Request$Groupings": "

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype

" + "GetMetricDataV2Request$Groupings": "

The grouping applied to the metrics that are returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values that are returned apply to the metrics for each queue. They are not aggregated for all queues.

If no grouping is specified, a summary of all metrics is returned.

Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype | ROUTING_STEP_EXPRESSION

" } }, "HierarchyGroup": { @@ -4760,7 +4760,7 @@ "MetricsV2": { "base": null, "refs": { - "GetMetricDataV2Request$Metrics": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ABANDONED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

" + "GetMetricDataV2Request$Metrics": "

The metrics to retrieve. Specify the name, groupings, and filters for each metric. The following historical metrics are available. For a description of each metric, see Historical metrics definitions in the Amazon Connect Administrator's Guide.

ABANDONMENT_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AGENT_ADHERENT_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_ANSWER_RATE

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_ADHERENT_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

Data for this metric is available starting from October 1, 2023 0:00:00 GMT.

AGENT_OCCUPANCY

Unit: Percentage

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULE_ADHERENCE

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AGENT_SCHEDULED_TIME

This metric is available only in Amazon Web Services Regions where Forecasting, capacity planning, and scheduling is available.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_ABANDON_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_ACTIVE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_AGENT_CONNECTING_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. For now, this metric only supports the following as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

AVG_AGENT_PAUSE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

AVG_CONTACT_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_CONVERSATION_DURATION

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

AVG_GREETING_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_HOLD_TIME_ALL_CONTACTS

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_HOLDS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERACTION_TIME

Unit: Seconds

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_INTERRUPTIONS_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_INTERRUPTION_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_QUEUE_ANSWER_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

AVG_RESOLUTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

AVG_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ABANDONED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

CONTACTS_CREATED

Unit: Count

Valid metric filter key: INITIATION_METHOD

Valid groupings and filters: Queue, Channel, Routing Profile, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_HANDLED

Unit: Count

Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression

Feature is a valid filter but not a valid grouping.

CONTACTS_HOLD_ABANDONS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_ON_HOLD_AGENT_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_ON_HOLD_CUSTOMER_DISCONNECT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_PUT_ON_HOLD

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_EXTERNAL

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_TRANSFERRED_OUT_INTERNAL

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_RESOLVED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

CONTACTS_TRANSFERRED_OUT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, Feature, contact/segmentAttributes/connect:Subtype

Feature is a valid filter but not a valid grouping.

CONTACTS_TRANSFERRED_OUT_BY_AGENT

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

MAX_QUEUED_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_CONTACTS_STEP_EXPIRED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

PERCENT_CONTACTS_STEP_JOINED

Unit: Percent

Valid groupings and filters: Queue, RoutingStepExpression

PERCENT_NON_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_AGENT

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

PERCENT_TALK_TIME_CUSTOMER

This metric is available only for contacts analyzed by Contact Lens conversational analytics.

Unit: Percentage

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SERVICE_LEVEL

You can include up to 20 SERVICE_LEVEL metrics in a request.

Unit: Percent

Valid groupings and filters: Queue, Channel, Routing Profile

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

STEP_CONTACTS_QUEUED

Unit: Count

Valid groupings and filters: Queue, RoutingStepExpression

SUM_AFTER_CONTACT_WORK_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONNECTING_TIME_AGENT

Unit: Seconds

Valid metric filter key: INITIATION_METHOD. This metric only supports the following filter keys as INITIATION_METHOD: INBOUND | OUTBOUND | CALLBACK | API

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

The Negate key in Metric Level Filters is not applicable for this metric.

SUM_CONTACT_FLOW_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACT_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_CONTACTS_ANSWERED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

SUM_CONTACTS_ABANDONED_IN_X

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for \"Less than\").

SUM_CONTACTS_DISCONNECTED

Valid metric filter key: DISCONNECT_REASON

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy, contact/segmentAttributes/connect:Subtype

SUM_ERROR_STATUS_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HANDLE_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_HOLD_TIME

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_IDLE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_AND_HOLD_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_INTERACTION_TIME

Unit: Seconds

Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent Hierarchy

SUM_NON_PRODUCTIVE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_ONLINE_TIME_AGENT

Unit: Seconds

Valid groupings and filters: Routing Profile, Agent, Agent Hierarchy

SUM_RETRY_CALLBACK_ATTEMPTS

Unit: Count

Valid groupings and filters: Queue, Channel, Routing Profile, contact/segmentAttributes/connect:Subtype

" } }, "MinutesLimit60": { diff --git a/models/apis/connectparticipant/2018-09-07/api-2.json b/models/apis/connectparticipant/2018-09-07/api-2.json index 6c780edc2b5..349dd857241 100644 --- a/models/apis/connectparticipant/2018-09-07/api-2.json +++ b/models/apis/connectparticipant/2018-09-07/api-2.json @@ -118,7 +118,8 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConflictException"} ] }, "SendMessage":{ @@ -497,7 +498,8 @@ "AGENT", "CUSTOMER", "SYSTEM", - "CUSTOM_BOT" + "CUSTOM_BOT", + "SUPERVISOR" ] }, "ParticipantToken":{ @@ -552,7 +554,8 @@ "PARTICIPANT", "HIERARCHY_LEVEL", "HIERARCHY_GROUP", - "USER" + "USER", + "PHONE_NUMBER" ] }, "ScanDirection":{ diff --git a/models/apis/connectparticipant/2018-09-07/endpoint-rule-set-1.json b/models/apis/connectparticipant/2018-09-07/endpoint-rule-set-1.json index eaed7a9924e..361136b65ce 100644 --- a/models/apis/connectparticipant/2018-09-07/endpoint-rule-set-1.json +++ b/models/apis/connectparticipant/2018-09-07/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -256,14 +252,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -277,7 +275,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -297,7 +294,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -308,14 +304,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -326,9 +324,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/location/2020-11-19/docs-2.json b/models/apis/location/2020-11-19/docs-2.json index 6eca5655937..ec653c60981 100644 --- a/models/apis/location/2020-11-19/docs-2.json +++ b/models/apis/location/2020-11-19/docs-2.json @@ -618,8 +618,8 @@ "CustomLayerList": { "base": null, "refs": { - "MapConfiguration$CustomLayers": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

", - "MapConfigurationUpdate$CustomLayers": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

" + "MapConfiguration$CustomLayers": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

", + "MapConfigurationUpdate$CustomLayers": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Currenlty only VectorEsriNavigation supports CustomLayers. For more information, see Custom Layers.

" } }, "DataSourceConfiguration": { @@ -1339,7 +1339,7 @@ "MapStyle": { "base": null, "refs": { - "MapConfiguration$Style": "

Specifies the map style selected from an available data provider.

Valid Esri map styles:

Valid HERE Technologies map styles:

Valid GrabMaps map styles:

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

" + "MapConfiguration$Style": "

Specifies the map style selected from an available data provider.

Valid Esri map styles:

Valid HERE Technologies map styles:

Valid GrabMaps map styles:

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

" } }, "OptimizationMode": { @@ -1379,9 +1379,9 @@ "PlaceId": { "base": null, "refs": { - "GetPlaceRequest$PlaceId": "

The identifier of the place to find.

", + "GetPlaceRequest$PlaceId": "

The identifier of the place to find.

While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

", "SearchForPositionResult$PlaceId": "

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForPosition operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

", - "SearchForSuggestionsResult$PlaceId": "

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

", + "SearchForSuggestionsResult$PlaceId": "

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

While you can use PlaceID in subsequent requests, PlaceID is not intended to be a permanent identifier and the ID can change between consecutive API calls. Please see the following PlaceID behaviour for each data provider:

", "SearchForTextResult$PlaceId": "

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForText operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

" } }, @@ -1865,7 +1865,7 @@ "DescribeRouteCalculatorResponse$DataSource": "

The data provider of traffic and road network data. Indicates one of the available providers:

For more information about data providers, see Amazon Location Service data providers.

", "DescribeTrackerResponse$PricingPlanDataSource": "

No longer used. Always returns an empty string.

", "GetGeofenceResponse$Status": "

Identifies the state of the geofence. A geofence will hold one of the following states:

", - "GetMapGlyphsRequest$FontStack": "

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

Valid font stacks for HERE Technologies styles:

Valid font stacks for GrabMaps styles:

Valid font stacks for Open Data styles:

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

", + "GetMapGlyphsRequest$FontStack": "

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

Valid font stacks for HERE Technologies styles:

Valid font stacks for GrabMaps styles:

Valid font stacks for Open Data styles:

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

", "GetMapGlyphsResponse$CacheControl": "

The HTTP Cache-Control directive for the value.

", "GetMapGlyphsResponse$ContentType": "

The map glyph content type. For example, application/octet-stream.

", "GetMapSpritesResponse$CacheControl": "

The HTTP Cache-Control directive for the value.

", @@ -1889,10 +1889,10 @@ "Place$PostalCode": "

A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

", "Place$Region": "

A name for an area or geographical division, such as a province or state name. For example, British Columbia.

", "Place$Street": "

The name for a street or a road to identify a location. For example, Main Street.

", - "Place$SubMunicipality": "

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

", + "Place$SubMunicipality": "

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property is only returned for a place index that uses Esri as a data provider. The property is represented as a district.

For more information about data providers, see Amazon Location Service data providers.

", "Place$SubRegion": "

A county, or an area that's part of a larger region. For example, Metro Vancouver.

", - "Place$UnitNumber": "

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition.

", - "Place$UnitType": "

For addresses with a UnitNumber, the type of unit. For example, Apartment.

Returned only for a place index that uses Esri as a data provider.

", + "Place$UnitNumber": "

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

This property is returned only for a place index that uses Esri or Grab as a data provider. It is not returned for SearchPlaceIndexForPosition.

", + "Place$UnitType": "

For addresses with a UnitNumber, the type of unit. For example, Apartment.

This property is returned only for a place index that uses Esri as a data provider.

", "ResourceNotFoundException$Message": null, "RouteMatrixEntryError$Message": "

A message about the error that occurred for the route calculation.

", "SearchForSuggestionsResult$Text": "

The text of the place suggestion, typically formatted as an address string.

", diff --git a/models/apis/mwaa/2020-07-01/api-2.json b/models/apis/mwaa/2020-07-01/api-2.json index c12e49a2d58..5cf4aac2c9b 100644 --- a/models/apis/mwaa/2020-07-01/api-2.json +++ b/models/apis/mwaa/2020-07-01/api-2.json @@ -209,6 +209,11 @@ "value":{"shape":"ConfigValue"}, "sensitive":true }, + "AirflowIdentity":{ + "type":"string", + "max":64, + "min":1 + }, "AirflowVersion":{ "type":"string", "max":32, @@ -317,6 +322,8 @@ "CreateWebLoginTokenResponse":{ "type":"structure", "members":{ + "AirflowIdentity":{"shape":"AirflowIdentity"}, + "IamIdentity":{"shape":"IamIdentity"}, "WebServerHostname":{"shape":"Hostname"}, "WebToken":{"shape":"Token"} } @@ -472,6 +479,7 @@ "min":1, "pattern":"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$" }, + "IamIdentity":{"type":"string"}, "IamRoleArn":{ "type":"string", "max":1224, diff --git a/models/apis/mwaa/2020-07-01/docs-2.json b/models/apis/mwaa/2020-07-01/docs-2.json index 27ec018e404..ba950ff6077 100644 --- a/models/apis/mwaa/2020-07-01/docs-2.json +++ b/models/apis/mwaa/2020-07-01/docs-2.json @@ -28,6 +28,12 @@ "UpdateEnvironmentInput$AirflowConfigurationOptions": "

A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see Apache Airflow configuration options.

" } }, + "AirflowIdentity": { + "base": null, + "refs": { + "CreateWebLoginTokenResponse$AirflowIdentity": "

The user name of the Apache Airflow identity creating the web login token.

" + } + }, "AirflowVersion": { "base": null, "refs": { @@ -214,6 +220,12 @@ "CreateWebLoginTokenResponse$WebServerHostname": "

The Airflow web server hostname for the environment.

" } }, + "IamIdentity": { + "base": null, + "refs": { + "CreateWebLoginTokenResponse$IamIdentity": "

The name of the IAM identity creating the web login token. This might be an IAM user, or an assumed or federated identity. For example, assumed-role/Admin/your-name.

" + } + }, "IamRoleArn": { "base": null, "refs": { diff --git a/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json b/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json index 4957a498573..e280b454b92 100644 --- a/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json +++ b/models/apis/s3control/2018-08-20/endpoint-rule-set-1.json @@ -308,6 +308,29 @@ "error": "OutpostId must only contain a-z, A-Z, 0-9 and `-`.", "type": "error" }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: DualStack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [ { @@ -321,21 +344,6 @@ } ], "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid configuration: Outposts do not support dual-stack", - "type": "error" - }, { "conditions": [ { @@ -372,6 +380,43 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts-fips.{Region}.{partitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -400,6 +445,34 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts.{Region}.{partitionResult#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{Region}" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -500,21 +573,6 @@ } ], "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid configuration: Outpost Access Points do not support dual-stack", - "type": "error" - }, { "conditions": [ { @@ -542,6 +600,29 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: DualStack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [ { @@ -775,6 +856,50 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts-fips.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{accessPointArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{accessPointArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { @@ -810,6 +935,41 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts.{accessPointArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{accessPointArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{accessPointArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { @@ -1038,21 +1198,6 @@ } ], "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid configuration: Outpost buckets do not support dual-stack", - "type": "error" - }, { "conditions": [ { @@ -1080,6 +1225,29 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: DualStack and custom endpoint are not supported", + "type": "error" + }, { "conditions": [ { @@ -1313,6 +1481,50 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts-fips.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{bucketArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { @@ -1348,6 +1560,41 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "endpoint": { + "url": "https://s3-outposts.{bucketArn#region}.{arnPartition#dualStackDnsSuffix}", + "properties": { + "authSchemes": [ + { + "disableDoubleEncoding": true, + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "{bucketArn#region}" + } + ] + }, + "headers": { + "x-amz-account-id": [ + "{bucketArn#accountId}" + ], + "x-amz-outpost-id": [ + "{outpostId}" + ] + } + }, + "type": "endpoint" + }, { "conditions": [ { diff --git a/models/apis/s3control/2018-08-20/endpoint-tests-1.json b/models/apis/s3control/2018-08-20/endpoint-tests-1.json index 6d2656e10b9..a2650ef1ded 100644 --- a/models/apis/s3control/2018-08-20/endpoint-tests-1.json +++ b/models/apis/s3control/2018-08-20/endpoint-tests-1.json @@ -967,10 +967,54 @@ } }, { - "documentation": "outpost access points do not support dualstack@us-west-2", + "documentation": "outpost access points support dualstack@us-west-2", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.us-west-2.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseDualStack": true + }, + "operationName": "GetAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseDualStack": true + }, + "operationName": "DeleteAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + } + ], "params": { "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", "AccountId": "123456789012", @@ -981,31 +1025,121 @@ } }, { - "documentation": "outpost access points do not support dualstack@cn-north-1", + "documentation": "outpost access points support dualstack@af-south-1", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "af-south-1", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.af-south-1.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseDualStack": true + }, + "operationName": "GetAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseDualStack": true + }, + "operationName": "DeleteAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + } + ], "params": { - "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", "AccountId": "123456789012", - "Region": "cn-north-1", + "Region": "af-south-1", "RequiresAccountId": true, "UseDualStack": true, "UseFIPS": false } }, { - "documentation": "outpost access points do not support dualstack@af-south-1", + "documentation": "outpost access points support fips + dualstack@af-south-1", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "af-south-1", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts-fips.af-south-1.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "GetAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + }, + { + "builtInParams": { + "AWS::Region": "af-south-1", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "DeleteAccessPoint", + "operationParams": { + "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccountId": "123456789012" + } + } + ], "params": { - "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", + "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", "AccountId": "123456789012", "Region": "af-south-1", "RequiresAccountId": true, "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true } }, { @@ -1421,6 +1555,46 @@ "UseFIPS": true } }, + { + "documentation": "ListRegionalBucket + OutpostId + fips + dualstack@us-east-2", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-east-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts-fips.us-east-2.api.aws" + } + }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-2", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "ListRegionalBuckets", + "operationParams": { + "AccountId": "123456789012", + "OutpostId": "op-123" + } + } + ], + "params": { + "AccountId": "123456789012", + "OutpostId": "op-123", + "Region": "us-east-2", + "RequiresAccountId": true, + "UseDualStack": true, + "UseFIPS": true + } + }, { "documentation": "CreateBucket + OutpostId endpoint url@us-east-2", "expect": { @@ -1465,32 +1639,17 @@ { "documentation": "dualstack cannot be used with outposts when an endpoint URL is set@us-west-2.", "expect": { - "error": "Invalid configuration: Outpost Access Points do not support dual-stack" + "error": "Invalid Configuration: DualStack and custom endpoint are not supported" }, "params": { "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", - "Endpoint": "https://beta.example.com", + "Endpoint": "https://s3-outposts.us-west-2.api.aws", "Region": "us-west-2", "RequiresAccountId": true, "UseDualStack": true, "UseFIPS": false } }, - { - "documentation": "Dual-stack cannot be used with outposts@us-west-2", - "expect": { - "error": "Invalid configuration: Outposts do not support dual-stack" - }, - "params": { - "Bucket": "bucketname", - "Endpoint": "https://beta.example.com", - "OutpostId": "op-123", - "Region": "us-west-2", - "RequiresAccountId": false, - "UseDualStack": true, - "UseFIPS": false - } - }, { "documentation": "vanilla bucket arn requires account id@us-west-2", "expect": { @@ -1720,16 +1879,50 @@ } }, { - "documentation": "Outposts do not support dualstack@us-west-2", + "documentation": "bucket ARN in aws partition with fips + dualstack@us-east-2", "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-east-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts-fips.us-east-2.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-2", + "AWS::UseFIPS": true, + "AWS::UseDualStack": true + }, + "operationName": "GetBucket", + "operationParams": { + "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "AccountId": "123456789012" + } + } + ], "params": { - "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", - "Region": "us-west-2", + "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "Region": "us-east-2", "RequiresAccountId": true, "UseDualStack": true, - "UseFIPS": false + "UseFIPS": true } }, { @@ -1961,10 +2154,43 @@ } }, { - "documentation": "Outposts do not support dualstack@us-west-2", + "documentation": "Outposts support dualstack @us-west-2", "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" + "endpoint": { + "headers": { + "x-amz-account-id": [ + "123456789012" + ], + "x-amz-outpost-id": [ + "op-01234567890123456" + ] + }, + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "s3-outposts", + "signingRegion": "us-west-2", + "disableDoubleEncoding": true + } + ] + }, + "url": "https://s3-outposts.us-west-2.api.aws" + } }, + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-west-2", + "AWS::UseDualStack": true + }, + "operationName": "GetBucket", + "operationParams": { + "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", + "AccountId": "123456789012" + } + } + ], "params": { "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", "Region": "us-west-2", @@ -2201,19 +2427,6 @@ "UseFIPS": true } }, - { - "documentation": "Outposts do not support dualstack@us-west-2", - "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" - }, - "params": { - "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", - "Region": "us-west-2", - "RequiresAccountId": true, - "UseDualStack": true, - "UseFIPS": false - } - }, { "documentation": "Invalid ARN: missing outpost id and bucket@us-west-2", "expect": { @@ -2995,16 +3208,16 @@ } }, { - "documentation": "get bucket with endpoint_url and dualstack is not supported@us-west-2", + "documentation": "get bucket with custom endpoint and dualstack is not supported@us-west-2", "expect": { - "error": "Invalid configuration: Outpost buckets do not support dual-stack" + "error": "Invalid Configuration: DualStack and custom endpoint are not supported" }, "operationInputs": [ { "builtInParams": { "AWS::Region": "us-west-2", "AWS::UseDualStack": true, - "SDK::Endpoint": "https://beta.example.com" + "SDK::Endpoint": "https://s3-outposts.us-west-2.api.aws" }, "operationName": "GetBucket", "operationParams": { @@ -3015,7 +3228,7 @@ ], "params": { "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", - "Endpoint": "https://beta.example.com", + "Endpoint": "https://s3-outposts.us-west-2.api.aws", "Region": "us-west-2", "RequiresAccountId": true, "UseDualStack": true, diff --git a/models/apis/supplychain/2024-01-01/api-2.json b/models/apis/supplychain/2024-01-01/api-2.json new file mode 100644 index 00000000000..c18aa693d53 --- /dev/null +++ b/models/apis/supplychain/2024-01-01/api-2.json @@ -0,0 +1,229 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2024-01-01", + "endpointPrefix":"scn", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Supply Chain", + "serviceId":"SupplyChain", + "signatureVersion":"v4", + "signingName":"scn", + "uid":"supplychain-2024-01-01" + }, + "operations":{ + "CreateBillOfMaterialsImportJob":{ + "name":"CreateBillOfMaterialsImportJob", + "http":{ + "method":"POST", + "requestUri":"/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs", + "responseCode":200 + }, + "input":{"shape":"CreateBillOfMaterialsImportJobRequest"}, + "output":{"shape":"CreateBillOfMaterialsImportJobResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "GetBillOfMaterialsImportJob":{ + "name":"GetBillOfMaterialsImportJob", + "http":{ + "method":"GET", + "requestUri":"/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs/{jobId}", + "responseCode":200 + }, + "input":{"shape":"GetBillOfMaterialsImportJobRequest"}, + "output":{"shape":"GetBillOfMaterialsImportJobResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "BillOfMaterialsImportJob":{ + "type":"structure", + "required":[ + "instanceId", + "jobId", + "status", + "s3uri" + ], + "members":{ + "instanceId":{"shape":"UUID"}, + "jobId":{"shape":"UUID"}, + "status":{"shape":"ConfigurationJobStatus"}, + "s3uri":{"shape":"ConfigurationS3Uri"}, + "message":{"shape":"String"} + } + }, + "ClientToken":{ + "type":"string", + "max":126, + "min":33 + }, + "ConfigurationJobStatus":{ + "type":"string", + "enum":[ + "NEW", + "FAILED", + "IN_PROGRESS", + "QUEUED", + "SUCCESS" + ] + }, + "ConfigurationS3Uri":{ + "type":"string", + "min":10, + "pattern":"[sS]3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.+" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateBillOfMaterialsImportJobRequest":{ + "type":"structure", + "required":[ + "instanceId", + "s3uri" + ], + "members":{ + "instanceId":{ + "shape":"UUID", + "location":"uri", + "locationName":"instanceId" + }, + "s3uri":{"shape":"ConfigurationS3Uri"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "CreateBillOfMaterialsImportJobResponse":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{"shape":"UUID"} + } + }, + "GetBillOfMaterialsImportJobRequest":{ + "type":"structure", + "required":[ + "instanceId", + "jobId" + ], + "members":{ + "instanceId":{ + "shape":"UUID", + "location":"uri", + "locationName":"instanceId" + }, + "jobId":{ + "shape":"UUID", + "location":"uri", + "locationName":"jobId" + } + } + }, + "GetBillOfMaterialsImportJobResponse":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{"shape":"BillOfMaterialsImportJob"} + } + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "UUID":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/supplychain/2024-01-01/docs-2.json b/models/apis/supplychain/2024-01-01/docs-2.json new file mode 100644 index 00000000000..208754a9ca3 --- /dev/null +++ b/models/apis/supplychain/2024-01-01/docs-2.json @@ -0,0 +1,114 @@ +{ + "version": "2.0", + "service": "

AWS Supply Chain is a cloud-based application that works with your enterprise resource planning (ERP) and supply chain management systems. Using AWS Supply Chain, you can connect and extract your inventory, supply, and demand related data from existing ERP or supply chain systems into a single data model.

The AWS Supply Chain API supports configuration data import for Supply Planning.

All AWS Supply chain API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies.

", + "operations": { + "CreateBillOfMaterialsImportJob": "

CreateBillOfMaterialsImportJob creates an import job for the Product Bill Of Materials (BOM) entity. For information on the product_bom entity, see the AWS Supply Chain User Guide.

The CSV file must be located in an Amazon S3 location accessible to AWS Supply Chain. It is recommended to use the same Amazon S3 bucket created during your AWS Supply Chain instance creation.

", + "GetBillOfMaterialsImportJob": "

Get status and details of a BillOfMaterialsImportJob.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

You do not have the required privileges to perform this action.

", + "refs": { + } + }, + "BillOfMaterialsImportJob": { + "base": "

The BillOfMaterialsImportJob details.

", + "refs": { + "GetBillOfMaterialsImportJobResponse$job": "

The BillOfMaterialsImportJob.

" + } + }, + "ClientToken": { + "base": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "refs": { + "CreateBillOfMaterialsImportJobRequest$clientToken": "

An idempotency token.

" + } + }, + "ConfigurationJobStatus": { + "base": "

The status of the job.

", + "refs": { + "BillOfMaterialsImportJob$status": "

The BillOfMaterialsImportJob ConfigurationJobStatus.

" + } + }, + "ConfigurationS3Uri": { + "base": null, + "refs": { + "BillOfMaterialsImportJob$s3uri": "

The S3 URI from which the CSV is read.

", + "CreateBillOfMaterialsImportJobRequest$s3uri": "

The S3 URI of the CSV file to be imported. The bucket must grant permissions for AWS Supply Chain to read the file.

" + } + }, + "ConflictException": { + "base": "

Updating or deleting a resource can cause an inconsistent state.

", + "refs": { + } + }, + "CreateBillOfMaterialsImportJobRequest": { + "base": "

The request parameters for CreateBillOfMaterialsImportJob.

", + "refs": { + } + }, + "CreateBillOfMaterialsImportJobResponse": { + "base": "

The response parameters of CreateBillOfMaterialsImportJob.

", + "refs": { + } + }, + "GetBillOfMaterialsImportJobRequest": { + "base": "

The request parameters for GetBillOfMaterialsImportJob.

", + "refs": { + } + }, + "GetBillOfMaterialsImportJobResponse": { + "base": "

The response parameters for GetBillOfMaterialsImportJob.

", + "refs": { + } + }, + "InternalServerException": { + "base": "

Unexpected error during processing of request.

", + "refs": { + } + }, + "ResourceNotFoundException": { + "base": "

Request references a resource which does not exist.

", + "refs": { + } + }, + "ServiceQuotaExceededException": { + "base": "

Request would cause a service quota to be exceeded.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "BillOfMaterialsImportJob$message": "

When the BillOfMaterialsImportJob has reached a terminal state, there will be a message.

", + "ConflictException$message": null, + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "ThrottlingException$message": null, + "ValidationException$message": null + } + }, + "ThrottlingException": { + "base": "

Request was denied due to request throttling.

", + "refs": { + } + }, + "UUID": { + "base": null, + "refs": { + "BillOfMaterialsImportJob$instanceId": "

The BillOfMaterialsImportJob instanceId.

", + "BillOfMaterialsImportJob$jobId": "

The BillOfMaterialsImportJob jobId.

", + "CreateBillOfMaterialsImportJobRequest$instanceId": "

The AWS Supply Chain instance identifier.

", + "CreateBillOfMaterialsImportJobResponse$jobId": "

The new BillOfMaterialsImportJob identifier.

", + "GetBillOfMaterialsImportJobRequest$instanceId": "

The AWS Supply Chain instance identifier.

", + "GetBillOfMaterialsImportJobRequest$jobId": "

The BillOfMaterialsImportJob identifier.

" + } + }, + "ValidationException": { + "base": "

The input does not satisfy the constraints specified by an AWS service.

", + "refs": { + } + } + } +} diff --git a/models/apis/supplychain/2024-01-01/endpoint-rule-set-1.json b/models/apis/supplychain/2024-01-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..8396f12ec57 --- /dev/null +++ b/models/apis/supplychain/2024-01-01/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://scn.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/supplychain/2024-01-01/endpoint-tests-1.json b/models/apis/supplychain/2024-01-01/endpoint-tests-1.json new file mode 100644 index 00000000000..a0e7f287e63 --- /dev/null +++ b/models/apis/supplychain/2024-01-01/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://scn.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://scn.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/supplychain/2024-01-01/examples-1.json b/models/apis/supplychain/2024-01-01/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/supplychain/2024-01-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/supplychain/2024-01-01/paginators-1.json b/models/apis/supplychain/2024-01-01/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/supplychain/2024-01-01/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/transfer/2018-11-05/api-2.json b/models/apis/transfer/2018-11-05/api-2.json index a08012a432a..cd2a328dc51 100644 --- a/models/apis/transfer/2018-11-05/api-2.json +++ b/models/apis/transfer/2018-11-05/api-2.json @@ -1656,7 +1656,8 @@ "AccessRole":{"shape":"Role"}, "LoggingRole":{"shape":"Role"}, "Tags":{"shape":"Tags"}, - "SftpConfig":{"shape":"SftpConnectorConfig"} + "SftpConfig":{"shape":"SftpConnectorConfig"}, + "ServiceManagedEgressIpAddresses":{"shape":"ServiceManagedEgressIpAddresses"} } }, "DescribedExecution":{ @@ -1733,7 +1734,8 @@ "UserCount":{"shape":"UserCount"}, "WorkflowDetails":{"shape":"WorkflowDetails"}, "StructuredLogDestinations":{"shape":"StructuredLogDestinations"}, - "S3StorageOptions":{"shape":"S3StorageOptions"} + "S3StorageOptions":{"shape":"S3StorageOptions"}, + "As2ServiceManagedEgressIpAddresses":{"shape":"ServiceManagedEgressIpAddresses"} } }, "DescribedUser":{ @@ -2824,6 +2826,14 @@ "pattern":"s-([0-9a-f]{17})" }, "ServiceErrorMessage":{"type":"string"}, + "ServiceManagedEgressIpAddress":{ + "type":"string", + "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" + }, + "ServiceManagedEgressIpAddresses":{ + "type":"list", + "member":{"shape":"ServiceManagedEgressIpAddress"} + }, "ServiceMetadata":{ "type":"structure", "required":["UserDetails"], diff --git a/models/apis/transfer/2018-11-05/docs-2.json b/models/apis/transfer/2018-11-05/docs-2.json index d687273402e..ad105d44521 100644 --- a/models/apis/transfer/2018-11-05/docs-2.json +++ b/models/apis/transfer/2018-11-05/docs-2.json @@ -641,7 +641,7 @@ "DirectoryId": { "base": null, "refs": { - "IdentityProviderDetails$DirectoryId": "

The identifier of the Directory Service directory that you want to stop sharing.

" + "IdentityProviderDetails$DirectoryId": "

The identifier of the Directory Service directory that you want to use as your identity provider.

" } }, "DirectoryListingOptimization": { @@ -1709,6 +1709,19 @@ "ServiceUnavailableException$Message": null } }, + "ServiceManagedEgressIpAddress": { + "base": null, + "refs": { + "ServiceManagedEgressIpAddresses$member": null + } + }, + "ServiceManagedEgressIpAddresses": { + "base": null, + "refs": { + "DescribedConnector$ServiceManagedEgressIpAddresses": "

The list of egress IP addresses of this connector. These IP addresses are assigned automatically when you create the connector.

", + "DescribedServer$As2ServiceManagedEgressIpAddresses": "

The list of egress IP addresses of this server. These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs.

These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.

" + } + }, "ServiceMetadata": { "base": "

A container object for the session details that are associated with a workflow.

", "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index f81fbd9b52e..56197ac1668 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -20717,6 +20717,23 @@ "cn-north-1" : { } } }, + "iottwinmaker" : { + "endpoints" : { + "api-cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "api.iottwinmaker.cn-north-1.amazonaws.com.cn" + }, + "cn-north-1" : { }, + "data-cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "data.iottwinmaker.cn-north-1.amazonaws.com.cn" + } + } + }, "kafka" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/connect/api.go b/service/connect/api.go index 53e3b7f6c43..6807451941e 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -44473,6 +44473,11 @@ type EvaluationNote struct { _ struct{} `type:"structure"` // The note for an item (section or question) in a contact evaluation. + // + // Even though a note in an evaluation can have up to 3072 chars, there is also + // a limit on the total number of chars for all the notes in the evaluation + // combined. Assuming there are N questions in the evaluation being submitted, + // then the max char limit for all notes combined is N x 1024. Value *string `type:"string"` } @@ -45265,6 +45270,11 @@ type GetCurrentMetricDataInput struct { // // The actual OLDEST_CONTACT_AGE is 24 seconds. // + // When the filter RoutingStepExpression is used, this metric is still calculated + // from enqueue time. For example, if a contact that has been queued under for 10 seconds has expired and becomes active, then OLDEST_CONTACT_AGE + // for this queue will be counted starting from 10, not 0. + // // Name in real-time metrics report: Oldest (https://docs.aws.amazon.com/connect/latest/adminguide/real-time-metrics-definitions.html#oldest-real-time) // // SLOTS_ACTIVE @@ -45291,11 +45301,15 @@ type GetCurrentMetricDataInput struct { // // * Channels: 3 (VOICE, CHAT, and TASK channels are supported.) // + // * RoutingStepExpressions: 50 + // // Metric data is retrieved only for the resources associated with the queues // or routing profiles, and by any channels included in the filter. (You cannot // filter by both queue AND routing profile.) You can include both resource // IDs and resource ARNs in the same request. // + // When using RoutingStepExpression, you need to pass exactly one QueueId. + // // Currently tagging is only supported on the resources that are passed in the // filter. // @@ -45314,6 +45328,9 @@ type GetCurrentMetricDataInput struct { // for metrics CONTACTS_SCHEDULED, CONTACTS_IN_QUEUE, and OLDEST_CONTACT_AGE. // // * If no Grouping is included in the request, a summary of metrics is returned. + // + // * When using the RoutingStepExpression filter, group by ROUTING_STEP_EXPRESSION + // is required. Groupings []*string `type:"list" enum:"Grouping"` // The identifier of the Amazon Connect instance. You can find the instance @@ -45920,6 +45937,9 @@ type GetMetricDataInput struct { // or channels included in the filter. You can include both queue IDs and queue // ARNs in the same request. VOICE, CHAT, and TASK channels are supported. // + // RoutingStepExpression is not a valid filter for GetMetricData and we recommend + // switching to GetMetricDataV2 for more up-to-date features. + // // To filter by Queues, enter the queue ID/ARN, not the name of the queue. // // Filters is a required field @@ -45930,6 +45950,9 @@ type GetMetricDataInput struct { // apply to the metrics for each queue rather than aggregated for all queues. // // If no grouping is specified, a summary of metrics for all queues is returned. + // + // RoutingStepExpression is not a valid filter for GetMetricData and we recommend + // switching to GetMetricDataV2 for more up-to-date features. Groupings []*string `type:"list" enum:"Grouping"` // The metrics to retrieve. Specify the name, unit, and statistic for each metric. @@ -46296,6 +46319,8 @@ type GetMetricDataV2Input struct { // // * Feature // + // * Routing step expression + // // At least one filter must be passed from queues, routing profiles, agents, // or user hierarchy groups. // @@ -46308,6 +46333,7 @@ type GetMetricDataV2Input struct { // Valid filter keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE // | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR // | AGENT_HIERARCHY_LEVEL_FIVE | FEATURE | contact/segmentAttributes/connect:Subtype + // | ROUTING_STEP_EXPRESSION // // * Filter values: A maximum of 100 filter values are supported in a single // request. VOICE, CHAT, and TASK are valid filterValue for the CHANNEL filter @@ -46318,7 +46344,8 @@ type GetMetricDataV2Input struct { // filter key. It is available only to contacts analyzed by Contact Lens // conversational analytics. connect:Chat, connect:SMS, connect:Telephony, // and connect:WebRTC are valid filterValue examples (not exhaustive) for - // the contact/segmentAttributes/connect:Subtype filter key. + // the contact/segmentAttributes/connect:Subtype filter key. ROUTING_STEP_EXPRESSION + // is a valid filter key with a filter value up to 3000 length. // // Filters is a required field Filters []*FilterV2 `min:"1" type:"list" required:"true"` @@ -46332,7 +46359,8 @@ type GetMetricDataV2Input struct { // // Valid grouping keys: QUEUE | ROUTING_PROFILE | AGENT | CHANNEL | AGENT_HIERARCHY_LEVEL_ONE // | AGENT_HIERARCHY_LEVEL_TWO | AGENT_HIERARCHY_LEVEL_THREE | AGENT_HIERARCHY_LEVEL_FOUR - // | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype + // | AGENT_HIERARCHY_LEVEL_FIVE, contact/segmentAttributes/connect:Subtype | + // ROUTING_STEP_EXPRESSION Groupings []*string `type:"list"` // The interval period and timezone to apply to returned metrics. @@ -46514,7 +46542,7 @@ type GetMetricDataV2Input struct { // Unit: Seconds // // Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent - // Hierarchy, Feature, contact/segmentAttributes/connect:Subtype + // Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression // // Feature is a valid filter but not a valid grouping. // @@ -46639,7 +46667,7 @@ type GetMetricDataV2Input struct { // Unit: Count // // Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent - // Hierarchy, contact/segmentAttributes/connect:Subtype + // Hierarchy, contact/segmentAttributes/connect:Subtype, RoutingStepExpression // // CONTACTS_CREATED // @@ -46658,7 +46686,7 @@ type GetMetricDataV2Input struct { // Valid metric filter key: INITIATION_METHOD, DISCONNECT_REASON // // Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent - // Hierarchy, Feature, contact/segmentAttributes/connect:Subtype + // Hierarchy, Feature, contact/segmentAttributes/connect:Subtype, RoutingStepExpression // // Feature is a valid filter but not a valid grouping. // @@ -46750,6 +46778,18 @@ type GetMetricDataV2Input struct { // Valid groupings and filters: Queue, Channel, Routing Profile, Agent, Agent // Hierarchy, contact/segmentAttributes/connect:Subtype // + // PERCENT_CONTACTS_STEP_EXPIRED + // + // Unit: Percent + // + // Valid groupings and filters: Queue, RoutingStepExpression + // + // PERCENT_CONTACTS_STEP_JOINED + // + // Unit: Percent + // + // Valid groupings and filters: Queue, RoutingStepExpression + // // PERCENT_NON_TALK_TIME // // This metric is available only for contacts analyzed by Contact Lens conversational @@ -46801,6 +46841,12 @@ type GetMetricDataV2Input struct { // Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), // in seconds. For Comparison, you must enter LT (for "Less than"). // + // STEP_CONTACTS_QUEUED + // + // Unit: Count + // + // Valid groupings and filters: Queue, RoutingStepExpression + // // SUM_AFTER_CONTACT_WORK_TIME // // Unit: Seconds @@ -56615,6 +56661,7 @@ type MonitorContactInput struct { // Specify which monitoring actions the user is allowed to take. For example, // whether the user is allowed to escalate from silent monitoring to barge. + // AllowedMonitorCapabilities is required if barge is enabled. AllowedMonitorCapabilities []*string `type:"list" enum:"MonitorCapability"` // A unique, case-sensitive identifier that you provide to ensure the idempotency @@ -78037,6 +78084,9 @@ const ( // InstanceAttributeTypeEnhancedContactMonitoring is a InstanceAttributeType enum value InstanceAttributeTypeEnhancedContactMonitoring = "ENHANCED_CONTACT_MONITORING" + + // InstanceAttributeTypeEnhancedChatMonitoring is a InstanceAttributeType enum value + InstanceAttributeTypeEnhancedChatMonitoring = "ENHANCED_CHAT_MONITORING" ) // InstanceAttributeType_Values returns all elements of the InstanceAttributeType enum @@ -78052,6 +78102,7 @@ func InstanceAttributeType_Values() []string { InstanceAttributeTypeMultiPartyConference, InstanceAttributeTypeHighVolumeOutbound, InstanceAttributeTypeEnhancedContactMonitoring, + InstanceAttributeTypeEnhancedChatMonitoring, } } @@ -78335,6 +78386,9 @@ const ( // ParticipantRoleCustomBot is a ParticipantRole enum value ParticipantRoleCustomBot = "CUSTOM_BOT" + + // ParticipantRoleSupervisor is a ParticipantRole enum value + ParticipantRoleSupervisor = "SUPERVISOR" ) // ParticipantRole_Values returns all elements of the ParticipantRole enum @@ -78344,6 +78398,7 @@ func ParticipantRole_Values() []string { ParticipantRoleCustomer, ParticipantRoleSystem, ParticipantRoleCustomBot, + ParticipantRoleSupervisor, } } diff --git a/service/connectparticipant/api.go b/service/connectparticipant/api.go index a0df68b1cf4..1ea400dc335 100644 --- a/service/connectparticipant/api.go +++ b/service/connectparticipant/api.go @@ -743,6 +743,9 @@ func (c *ConnectParticipant) SendEventRequest(input *SendEventInput) (req *reque // - ValidationException // The input fails to satisfy the constraints specified by Amazon Connect. // +// - ConflictException +// An attachment with that identifier is already being uploaded. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/connectparticipant-2018-09-07/SendEvent func (c *ConnectParticipant) SendEvent(input *SendEventInput) (*SendEventOutput, error) { req, out := c.SendEventRequest(input) @@ -3277,6 +3280,9 @@ const ( // ParticipantRoleCustomBot is a ParticipantRole enum value ParticipantRoleCustomBot = "CUSTOM_BOT" + + // ParticipantRoleSupervisor is a ParticipantRole enum value + ParticipantRoleSupervisor = "SUPERVISOR" ) // ParticipantRole_Values returns all elements of the ParticipantRole enum @@ -3286,6 +3292,7 @@ func ParticipantRole_Values() []string { ParticipantRoleCustomer, ParticipantRoleSystem, ParticipantRoleCustomBot, + ParticipantRoleSupervisor, } } @@ -3310,6 +3317,9 @@ const ( // ResourceTypeUser is a ResourceType enum value ResourceTypeUser = "USER" + + // ResourceTypePhoneNumber is a ResourceType enum value + ResourceTypePhoneNumber = "PHONE_NUMBER" ) // ResourceType_Values returns all elements of the ResourceType enum @@ -3322,6 +3332,7 @@ func ResourceType_Values() []string { ResourceTypeHierarchyLevel, ResourceTypeHierarchyGroup, ResourceTypeUser, + ResourceTypePhoneNumber, } } diff --git a/service/locationservice/api.go b/service/locationservice/api.go index d1fa32d48b6..ce2799a7f10 100644 --- a/service/locationservice/api.go +++ b/service/locationservice/api.go @@ -12653,7 +12653,8 @@ type GetMapGlyphsInput struct { // // * VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold // - // * VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold + // * VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold | + // Arial Unicode MS Bold | Arial Unicode MS Regular // // Valid font stacks for HERE Technologies (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html) // styles: @@ -13284,6 +13285,32 @@ type GetPlaceInput struct { // The identifier of the place to find. // + // While you can use PlaceID in subsequent requests, PlaceID is not intended + // to be a permanent identifier and the ID can change between consecutive API + // calls. Please see the following PlaceID behaviour for each data provider: + // + // * Esri: Place IDs will change every quarter at a minimum. The typical + // time period for these changes would be March, June, September, and December. + // Place IDs might also change between the typical quarterly change but that + // will be much less frequent. + // + // * HERE: We recommend that you cache data for no longer than a week to + // keep your data data fresh. You can assume that less than 1% ID shifts + // will release over release which is approximately 1 - 2 times per week. + // + // * Grab: Place IDs can expire or become invalid in the following situations. + // Data operations: The POI may be removed from Grab POI database by Grab + // Map Ops based on the ground-truth, such as being closed in the real world, + // being detected as a duplicate POI, or having incorrect information. Grab + // will synchronize data to the Waypoint environment on weekly basis. Interpolated + // POI: Interpolated POI is a temporary POI generated in real time when serving + // a request, and it will be marked as derived in the place.result_type field + // in the response. The information of interpolated POIs will be retained + // for at least 30 days, which means that within 30 days, you are able to + // obtain POI details by Place ID from Place Details API. After 30 days, + // the interpolated POIs(both Place ID and details) may expire and inaccessible + // from the Places Details API. + // // PlaceId is a required field PlaceId *string `location:"uri" locationName:"PlaceId" type:"string" required:"true"` } @@ -15488,8 +15515,8 @@ type MapConfiguration struct { // custom layer, or, for styles that support custom layers, you can enable layer(s), // such as POI layer for the VectorEsriNavigation style. Default is unset. // - // Not all map resources or styles support custom layers. See Custom Layers - // for more information. + // Currenlty only VectorEsriNavigation supports CustomLayers. For more information, + // see Custom Layers (https://docs.aws.amazon.com/location/latest/developerguide/map-concepts.html#map-custom-layers). CustomLayers []*string `type:"list"` // Specifies the political view for the style. Leave unset to not use a political @@ -15507,10 +15534,12 @@ type MapConfiguration struct { // // Valid Esri map styles (https://docs.aws.amazon.com/location/latest/developerguide/esri.html): // - // * VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A - // vector basemap with a dark gray, neutral background with minimal colors, - // labels, and features that's designed to draw attention to your thematic - // content. + // * VectorEsriNavigation – The Esri Navigation map style, which provides + // a detailed basemap for the world symbolized with a custom navigation map + // style that's designed for use during the day in mobile devices. It also + // includes a richer set of places, such as shops, services, restaurants, + // attractions, and other points of interest. Enable the POI layer by setting + // it in CustomLayers to leverage the additional places data. // // * RasterEsriImagery – The Esri Imagery map style. A raster basemap that // provides one meter or better satellite and aerial imagery in many parts @@ -15529,27 +15558,17 @@ type MapConfiguration struct { // style. The vector tile layer is similar in content and style to the World // Street Map raster map. // - // * VectorEsriNavigation – The Esri Navigation map style, which provides - // a detailed basemap for the world symbolized with a custom navigation map - // style that's designed for use during the day in mobile devices. + // * VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A + // vector basemap with a dark gray, neutral background with minimal colors, + // labels, and features that's designed to draw attention to your thematic + // content. // // Valid HERE Technologies map styles (https://docs.aws.amazon.com/location/latest/developerguide/HERE.html): // - // * VectorHereContrast – The HERE Contrast (Berlin) map style is a high - // contrast detailed base map of the world that blends 3D and 2D rendering. - // The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin - // has been deprecated, but will continue to work in applications that use - // it. - // // * VectorHereExplore – A default HERE map style containing a neutral, // global map and its features including roads, buildings, landmarks, and // water features. It also now includes a fully designed map of Japan. // - // * VectorHereExploreTruck – A global map containing truck restrictions - // and attributes (e.g. width / height / HAZMAT) symbolized with highlighted - // segments and icons on top of HERE Explore to support use cases within - // transport and logistics. - // // * RasterHereExploreSatellite – A global map containing high resolution // satellite imagery. // @@ -15561,6 +15580,17 @@ type MapConfiguration struct { // more tiles are retrieved than when using either vector or raster tiles // alone. Your charges will include all tiles retrieved. // + // * VectorHereContrast – The HERE Contrast (Berlin) map style is a high + // contrast detailed base map of the world that blends 3D and 2D rendering. + // The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin + // has been deprecated, but will continue to work in applications that use + // it. + // + // * VectorHereExploreTruck – A global map containing truck restrictions + // and attributes (e.g. width / height / HAZMAT) symbolized with highlighted + // segments and icons on top of HERE Explore to support use cases within + // transport and logistics. + // // Valid GrabMaps map styles (https://docs.aws.amazon.com/location/latest/developerguide/grab.html): // // * VectorGrabStandardLight – The Grab Standard Light map style provides @@ -15663,8 +15693,8 @@ type MapConfigurationUpdate struct { // custom layer, or, for styles that support custom layers, you can enable layer(s), // such as POI layer for the VectorEsriNavigation style. Default is unset. // - // Not all map resources or styles support custom layers. See Custom Layers - // for more information. + // Currenlty only VectorEsriNavigation supports CustomLayers. For more information, + // see Custom Layers (https://docs.aws.amazon.com/location/latest/developerguide/map-concepts.html#map-custom-layers). CustomLayers []*string `type:"list"` // Specifies the political view for the style. Set to an empty string to not @@ -15770,8 +15800,11 @@ type Place struct { // An area that's part of a larger municipality. For example, Blissville is // a submunicipality in the Queen County in New York. // - // This property supported by Esri and OpenData. The Esri property is district, - // and the OpenData property is borough. + // This property is only returned for a place index that uses Esri as a data + // provider. The property is represented as a district. + // + // For more information about data providers, see Amazon Location Service data + // providers (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html). SubMunicipality *string `type:"string"` // A county, or an area that's part of a larger region. For example, Metro Vancouver. @@ -15788,13 +15821,14 @@ type Place struct { // For addresses with multiple units, the unit identifier. Can include numbers // and letters, for example 3B or Unit 123. // - // Returned only for a place index that uses Esri or Grab as a data provider. - // Is not returned for SearchPlaceIndexForPosition. + // This property is returned only for a place index that uses Esri or Grab as + // a data provider. It is not returned for SearchPlaceIndexForPosition. UnitNumber *string `type:"string"` // For addresses with a UnitNumber, the type of unit. For example, Apartment. // - // Returned only for a place index that uses Esri as a data provider. + // This property is returned only for a place index that uses Esri as a data + // provider. UnitType *string `type:"string"` } @@ -16432,6 +16466,32 @@ type SearchForSuggestionsResult struct { // // For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by // place indexes that use Esri, Grab, or HERE as data providers. + // + // While you can use PlaceID in subsequent requests, PlaceID is not intended + // to be a permanent identifier and the ID can change between consecutive API + // calls. Please see the following PlaceID behaviour for each data provider: + // + // * Esri: Place IDs will change every quarter at a minimum. The typical + // time period for these changes would be March, June, September, and December. + // Place IDs might also change between the typical quarterly change but that + // will be much less frequent. + // + // * HERE: We recommend that you cache data for no longer than a week to + // keep your data data fresh. You can assume that less than 1% ID shifts + // will release over release which is approximately 1 - 2 times per week. + // + // * Grab: Place IDs can expire or become invalid in the following situations. + // Data operations: The POI may be removed from Grab POI database by Grab + // Map Ops based on the ground-truth, such as being closed in the real world, + // being detected as a duplicate POI, or having incorrect information. Grab + // will synchronize data to the Waypoint environment on weekly basis. Interpolated + // POI: Interpolated POI is a temporary POI generated in real time when serving + // a request, and it will be marked as derived in the place.result_type field + // in the response. The information of interpolated POIs will be retained + // for at least 30 days, which means that within 30 days, you are able to + // obtain POI details by Place ID from Place Details API. After 30 days, + // the interpolated POIs(both Place ID and details) may expire and inaccessible + // from the Places Details API. PlaceId *string `type:"string"` // Categories from the data provider that describe the Place that are not mapped diff --git a/service/mwaa/api.go b/service/mwaa/api.go index 7dab59908d1..8b145cac345 100644 --- a/service/mwaa/api.go +++ b/service/mwaa/api.go @@ -1676,6 +1676,13 @@ func (s *CreateWebLoginTokenInput) SetName(v string) *CreateWebLoginTokenInput { type CreateWebLoginTokenOutput struct { _ struct{} `type:"structure"` + // The user name of the Apache Airflow identity creating the web login token. + AirflowIdentity *string `min:"1" type:"string"` + + // The name of the IAM identity creating the web login token. This might be + // an IAM user, or an assumed or federated identity. For example, assumed-role/Admin/your-name. + IamIdentity *string `type:"string"` + // The Airflow web server hostname for the environment. WebServerHostname *string `min:"1" type:"string"` @@ -1705,6 +1712,18 @@ func (s CreateWebLoginTokenOutput) GoString() string { return s.String() } +// SetAirflowIdentity sets the AirflowIdentity field's value. +func (s *CreateWebLoginTokenOutput) SetAirflowIdentity(v string) *CreateWebLoginTokenOutput { + s.AirflowIdentity = &v + return s +} + +// SetIamIdentity sets the IamIdentity field's value. +func (s *CreateWebLoginTokenOutput) SetIamIdentity(v string) *CreateWebLoginTokenOutput { + s.IamIdentity = &v + return s +} + // SetWebServerHostname sets the WebServerHostname field's value. func (s *CreateWebLoginTokenOutput) SetWebServerHostname(v string) *CreateWebLoginTokenOutput { s.WebServerHostname = &v diff --git a/service/supplychain/api.go b/service/supplychain/api.go new file mode 100644 index 00000000000..c1165f55314 --- /dev/null +++ b/service/supplychain/api.go @@ -0,0 +1,981 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package supplychain + +import ( + "fmt" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" +) + +const opCreateBillOfMaterialsImportJob = "CreateBillOfMaterialsImportJob" + +// CreateBillOfMaterialsImportJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateBillOfMaterialsImportJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateBillOfMaterialsImportJob for more information on using the CreateBillOfMaterialsImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateBillOfMaterialsImportJobRequest method. +// req, resp := client.CreateBillOfMaterialsImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/CreateBillOfMaterialsImportJob +func (c *SupplyChain) CreateBillOfMaterialsImportJobRequest(input *CreateBillOfMaterialsImportJobInput) (req *request.Request, output *CreateBillOfMaterialsImportJobOutput) { + op := &request.Operation{ + Name: opCreateBillOfMaterialsImportJob, + HTTPMethod: "POST", + HTTPPath: "/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs", + } + + if input == nil { + input = &CreateBillOfMaterialsImportJobInput{} + } + + output = &CreateBillOfMaterialsImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBillOfMaterialsImportJob API operation for AWS Supply Chain. +// +// CreateBillOfMaterialsImportJob creates an import job for the Product Bill +// Of Materials (BOM) entity. For information on the product_bom entity, see +// the AWS Supply Chain User Guide. +// +// The CSV file must be located in an Amazon S3 location accessible to AWS Supply +// Chain. It is recommended to use the same Amazon S3 bucket created during +// your AWS Supply Chain instance creation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Supply Chain's +// API operation CreateBillOfMaterialsImportJob for usage and error information. +// +// Returned Error Types: +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - AccessDeniedException +// You do not have the required privileges to perform this action. +// +// - ValidationException +// The input does not satisfy the constraints specified by an AWS service. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/CreateBillOfMaterialsImportJob +func (c *SupplyChain) CreateBillOfMaterialsImportJob(input *CreateBillOfMaterialsImportJobInput) (*CreateBillOfMaterialsImportJobOutput, error) { + req, out := c.CreateBillOfMaterialsImportJobRequest(input) + return out, req.Send() +} + +// CreateBillOfMaterialsImportJobWithContext is the same as CreateBillOfMaterialsImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBillOfMaterialsImportJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SupplyChain) CreateBillOfMaterialsImportJobWithContext(ctx aws.Context, input *CreateBillOfMaterialsImportJobInput, opts ...request.Option) (*CreateBillOfMaterialsImportJobOutput, error) { + req, out := c.CreateBillOfMaterialsImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBillOfMaterialsImportJob = "GetBillOfMaterialsImportJob" + +// GetBillOfMaterialsImportJobRequest generates a "aws/request.Request" representing the +// client's request for the GetBillOfMaterialsImportJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetBillOfMaterialsImportJob for more information on using the GetBillOfMaterialsImportJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetBillOfMaterialsImportJobRequest method. +// req, resp := client.GetBillOfMaterialsImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetBillOfMaterialsImportJob +func (c *SupplyChain) GetBillOfMaterialsImportJobRequest(input *GetBillOfMaterialsImportJobInput) (req *request.Request, output *GetBillOfMaterialsImportJobOutput) { + op := &request.Operation{ + Name: opGetBillOfMaterialsImportJob, + HTTPMethod: "GET", + HTTPPath: "/api/configuration/instances/{instanceId}/bill-of-materials-import-jobs/{jobId}", + } + + if input == nil { + input = &GetBillOfMaterialsImportJobInput{} + } + + output = &GetBillOfMaterialsImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBillOfMaterialsImportJob API operation for AWS Supply Chain. +// +// Get status and details of a BillOfMaterialsImportJob. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Supply Chain's +// API operation GetBillOfMaterialsImportJob for usage and error information. +// +// Returned Error Types: +// +// - ServiceQuotaExceededException +// Request would cause a service quota to be exceeded. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have the required privileges to perform this action. +// +// - ValidationException +// The input does not satisfy the constraints specified by an AWS service. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01/GetBillOfMaterialsImportJob +func (c *SupplyChain) GetBillOfMaterialsImportJob(input *GetBillOfMaterialsImportJobInput) (*GetBillOfMaterialsImportJobOutput, error) { + req, out := c.GetBillOfMaterialsImportJobRequest(input) + return out, req.Send() +} + +// GetBillOfMaterialsImportJobWithContext is the same as GetBillOfMaterialsImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See GetBillOfMaterialsImportJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SupplyChain) GetBillOfMaterialsImportJobWithContext(ctx aws.Context, input *GetBillOfMaterialsImportJobInput, opts ...request.Option) (*GetBillOfMaterialsImportJobOutput, error) { + req, out := c.GetBillOfMaterialsImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have the required privileges to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The BillOfMaterialsImportJob details. +type BillOfMaterialsImportJob struct { + _ struct{} `type:"structure"` + + // The BillOfMaterialsImportJob instanceId. + // + // InstanceId is a required field + InstanceId *string `locationName:"instanceId" min:"36" type:"string" required:"true"` + + // The BillOfMaterialsImportJob jobId. + // + // JobId is a required field + JobId *string `locationName:"jobId" min:"36" type:"string" required:"true"` + + // When the BillOfMaterialsImportJob has reached a terminal state, there will + // be a message. + Message *string `locationName:"message" type:"string"` + + // The S3 URI from which the CSV is read. + // + // S3uri is a required field + S3uri *string `locationName:"s3uri" min:"10" type:"string" required:"true"` + + // The BillOfMaterialsImportJob ConfigurationJobStatus. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ConfigurationJobStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BillOfMaterialsImportJob) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BillOfMaterialsImportJob) GoString() string { + return s.String() +} + +// SetInstanceId sets the InstanceId field's value. +func (s *BillOfMaterialsImportJob) SetInstanceId(v string) *BillOfMaterialsImportJob { + s.InstanceId = &v + return s +} + +// SetJobId sets the JobId field's value. +func (s *BillOfMaterialsImportJob) SetJobId(v string) *BillOfMaterialsImportJob { + s.JobId = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *BillOfMaterialsImportJob) SetMessage(v string) *BillOfMaterialsImportJob { + s.Message = &v + return s +} + +// SetS3uri sets the S3uri field's value. +func (s *BillOfMaterialsImportJob) SetS3uri(v string) *BillOfMaterialsImportJob { + s.S3uri = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *BillOfMaterialsImportJob) SetStatus(v string) *BillOfMaterialsImportJob { + s.Status = &v + return s +} + +// Updating or deleting a resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request parameters for CreateBillOfMaterialsImportJob. +type CreateBillOfMaterialsImportJobInput struct { + _ struct{} `type:"structure"` + + // An idempotency token. + ClientToken *string `locationName:"clientToken" min:"33" type:"string" idempotencyToken:"true"` + + // The AWS Supply Chain instance identifier. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"instanceId" min:"36" type:"string" required:"true"` + + // The S3 URI of the CSV file to be imported. The bucket must grant permissions + // for AWS Supply Chain to read the file. + // + // S3uri is a required field + S3uri *string `locationName:"s3uri" min:"10" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBillOfMaterialsImportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBillOfMaterialsImportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBillOfMaterialsImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBillOfMaterialsImportJobInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 33 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 33)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 36)) + } + if s.S3uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3uri")) + } + if s.S3uri != nil && len(*s.S3uri) < 10 { + invalidParams.Add(request.NewErrParamMinLen("S3uri", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateBillOfMaterialsImportJobInput) SetClientToken(v string) *CreateBillOfMaterialsImportJobInput { + s.ClientToken = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreateBillOfMaterialsImportJobInput) SetInstanceId(v string) *CreateBillOfMaterialsImportJobInput { + s.InstanceId = &v + return s +} + +// SetS3uri sets the S3uri field's value. +func (s *CreateBillOfMaterialsImportJobInput) SetS3uri(v string) *CreateBillOfMaterialsImportJobInput { + s.S3uri = &v + return s +} + +// The response parameters of CreateBillOfMaterialsImportJob. +type CreateBillOfMaterialsImportJobOutput struct { + _ struct{} `type:"structure"` + + // The new BillOfMaterialsImportJob identifier. + // + // JobId is a required field + JobId *string `locationName:"jobId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBillOfMaterialsImportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBillOfMaterialsImportJobOutput) GoString() string { + return s.String() +} + +// SetJobId sets the JobId field's value. +func (s *CreateBillOfMaterialsImportJobOutput) SetJobId(v string) *CreateBillOfMaterialsImportJobOutput { + s.JobId = &v + return s +} + +// The request parameters for GetBillOfMaterialsImportJob. +type GetBillOfMaterialsImportJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The AWS Supply Chain instance identifier. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"instanceId" min:"36" type:"string" required:"true"` + + // The BillOfMaterialsImportJob identifier. + // + // JobId is a required field + JobId *string `location:"uri" locationName:"jobId" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBillOfMaterialsImportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBillOfMaterialsImportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBillOfMaterialsImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBillOfMaterialsImportJobInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 36)) + } + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) + } + if s.JobId != nil && len(*s.JobId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *GetBillOfMaterialsImportJobInput) SetInstanceId(v string) *GetBillOfMaterialsImportJobInput { + s.InstanceId = &v + return s +} + +// SetJobId sets the JobId field's value. +func (s *GetBillOfMaterialsImportJobInput) SetJobId(v string) *GetBillOfMaterialsImportJobInput { + s.JobId = &v + return s +} + +// The response parameters for GetBillOfMaterialsImportJob. +type GetBillOfMaterialsImportJobOutput struct { + _ struct{} `type:"structure"` + + // The BillOfMaterialsImportJob. + // + // Job is a required field + Job *BillOfMaterialsImportJob `locationName:"job" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBillOfMaterialsImportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetBillOfMaterialsImportJobOutput) GoString() string { + return s.String() +} + +// SetJob sets the Job field's value. +func (s *GetBillOfMaterialsImportJobOutput) SetJob(v *BillOfMaterialsImportJob) *GetBillOfMaterialsImportJobOutput { + s.Job = v + return s +} + +// Unexpected error during processing of request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Request references a resource which does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Request would cause a service quota to be exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The input does not satisfy the constraints specified by an AWS service. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The status of the job. +const ( + // ConfigurationJobStatusNew is a ConfigurationJobStatus enum value + ConfigurationJobStatusNew = "NEW" + + // ConfigurationJobStatusFailed is a ConfigurationJobStatus enum value + ConfigurationJobStatusFailed = "FAILED" + + // ConfigurationJobStatusInProgress is a ConfigurationJobStatus enum value + ConfigurationJobStatusInProgress = "IN_PROGRESS" + + // ConfigurationJobStatusQueued is a ConfigurationJobStatus enum value + ConfigurationJobStatusQueued = "QUEUED" + + // ConfigurationJobStatusSuccess is a ConfigurationJobStatus enum value + ConfigurationJobStatusSuccess = "SUCCESS" +) + +// ConfigurationJobStatus_Values returns all elements of the ConfigurationJobStatus enum +func ConfigurationJobStatus_Values() []string { + return []string{ + ConfigurationJobStatusNew, + ConfigurationJobStatusFailed, + ConfigurationJobStatusInProgress, + ConfigurationJobStatusQueued, + ConfigurationJobStatusSuccess, + } +} diff --git a/service/supplychain/doc.go b/service/supplychain/doc.go new file mode 100644 index 00000000000..4b678bd2a8f --- /dev/null +++ b/service/supplychain/doc.go @@ -0,0 +1,38 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package supplychain provides the client and types for making API +// requests to AWS Supply Chain. +// +// AWS Supply Chain is a cloud-based application that works with your enterprise +// resource planning (ERP) and supply chain management systems. Using AWS Supply +// Chain, you can connect and extract your inventory, supply, and demand related +// data from existing ERP or supply chain systems into a single data model. +// +// The AWS Supply Chain API supports configuration data import for Supply Planning. +// +// All AWS Supply chain API operations are Amazon-authenticated and certificate-signed. +// They not only require the use of the AWS SDK, but also allow for the exclusive +// use of AWS Identity and Access Management users and roles to help facilitate +// access, trust, and permission policies. +// +// See https://docs.aws.amazon.com/goto/WebAPI/supplychain-2024-01-01 for more information on this service. +// +// See supplychain package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/supplychain/ +// +// # Using the Client +// +// To contact AWS Supply Chain with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Supply Chain client SupplyChain for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/supplychain/#New +package supplychain diff --git a/service/supplychain/errors.go b/service/supplychain/errors.go new file mode 100644 index 00000000000..05113dfeddb --- /dev/null +++ b/service/supplychain/errors.go @@ -0,0 +1,62 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package supplychain + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have the required privileges to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // Updating or deleting a resource can cause an inconsistent state. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Unexpected error during processing of request. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Request references a resource which does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // Request would cause a service quota to be exceeded. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input does not satisfy the constraints specified by an AWS service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/supplychain/service.go b/service/supplychain/service.go new file mode 100644 index 00000000000..27759dfbfe0 --- /dev/null +++ b/service/supplychain/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package supplychain + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// SupplyChain provides the API operation methods for making requests to +// AWS Supply Chain. See this package's package overview docs +// for details on the service. +// +// SupplyChain methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type SupplyChain struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "SupplyChain" // Name of service. + EndpointsID = "scn" // ID to lookup a service endpoint with. + ServiceID = "SupplyChain" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the SupplyChain client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a SupplyChain client from just a session. +// svc := supplychain.New(mySession) +// +// // Create a SupplyChain client with additional configuration +// svc := supplychain.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *SupplyChain { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "scn" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *SupplyChain { + svc := &SupplyChain{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2024-01-01", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a SupplyChain operation and runs any +// custom request initialization. +func (c *SupplyChain) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/supplychain/supplychainiface/interface.go b/service/supplychain/supplychainiface/interface.go new file mode 100644 index 00000000000..bba0c6fd917 --- /dev/null +++ b/service/supplychain/supplychainiface/interface.go @@ -0,0 +1,72 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package supplychainiface provides an interface to enable mocking the AWS Supply Chain service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package supplychainiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/supplychain" +) + +// SupplyChainAPI provides an interface to enable mocking the +// supplychain.SupplyChain service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Supply Chain. +// func myFunc(svc supplychainiface.SupplyChainAPI) bool { +// // Make svc.CreateBillOfMaterialsImportJob request +// } +// +// func main() { +// sess := session.New() +// svc := supplychain.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockSupplyChainClient struct { +// supplychainiface.SupplyChainAPI +// } +// func (m *mockSupplyChainClient) CreateBillOfMaterialsImportJob(input *supplychain.CreateBillOfMaterialsImportJobInput) (*supplychain.CreateBillOfMaterialsImportJobOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockSupplyChainClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type SupplyChainAPI interface { + CreateBillOfMaterialsImportJob(*supplychain.CreateBillOfMaterialsImportJobInput) (*supplychain.CreateBillOfMaterialsImportJobOutput, error) + CreateBillOfMaterialsImportJobWithContext(aws.Context, *supplychain.CreateBillOfMaterialsImportJobInput, ...request.Option) (*supplychain.CreateBillOfMaterialsImportJobOutput, error) + CreateBillOfMaterialsImportJobRequest(*supplychain.CreateBillOfMaterialsImportJobInput) (*request.Request, *supplychain.CreateBillOfMaterialsImportJobOutput) + + GetBillOfMaterialsImportJob(*supplychain.GetBillOfMaterialsImportJobInput) (*supplychain.GetBillOfMaterialsImportJobOutput, error) + GetBillOfMaterialsImportJobWithContext(aws.Context, *supplychain.GetBillOfMaterialsImportJobInput, ...request.Option) (*supplychain.GetBillOfMaterialsImportJobOutput, error) + GetBillOfMaterialsImportJobRequest(*supplychain.GetBillOfMaterialsImportJobInput) (*request.Request, *supplychain.GetBillOfMaterialsImportJobOutput) +} + +var _ SupplyChainAPI = (*supplychain.SupplyChain)(nil) diff --git a/service/transfer/api.go b/service/transfer/api.go index 6baefcaccfa..93489e74504 100644 --- a/service/transfer/api.go +++ b/service/transfer/api.go @@ -11044,6 +11044,10 @@ type DescribedConnector struct { // events. When set, you can view connector activity in your CloudWatch logs. LoggingRole *string `min:"20" type:"string"` + // The list of egress IP addresses of this connector. These IP addresses are + // assigned automatically when you create the connector. + ServiceManagedEgressIpAddresses []*string `type:"list"` + // A structure that contains the parameters for an SFTP connector object. SftpConfig *SftpConnectorConfig `type:"structure"` @@ -11102,6 +11106,12 @@ func (s *DescribedConnector) SetLoggingRole(v string) *DescribedConnector { return s } +// SetServiceManagedEgressIpAddresses sets the ServiceManagedEgressIpAddresses field's value. +func (s *DescribedConnector) SetServiceManagedEgressIpAddresses(v []*string) *DescribedConnector { + s.ServiceManagedEgressIpAddresses = v + return s +} + // SetSftpConfig sets the SftpConfig field's value. func (s *DescribedConnector) SetSftpConfig(v *SftpConnectorConfig) *DescribedConnector { s.SftpConfig = v @@ -11504,6 +11514,15 @@ type DescribedServer struct { // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` + // The list of egress IP addresses of this server. These IP addresses are only + // relevant for servers that use the AS2 protocol. They are used for sending + // asynchronous MDNs. + // + // These IP addresses are assigned automatically when you create an AS2 server. + // Additionally, if you update an existing server and add the AS2 protocol, + // static IP addresses are assigned as well. + As2ServiceManagedEgressIpAddresses []*string `type:"list"` + // Specifies the ARN of the Amazon Web ServicesCertificate Manager (ACM) certificate. // Required when Protocols is set to FTPS. Certificate *string `type:"string"` @@ -11712,6 +11731,12 @@ func (s *DescribedServer) SetArn(v string) *DescribedServer { return s } +// SetAs2ServiceManagedEgressIpAddresses sets the As2ServiceManagedEgressIpAddresses field's value. +func (s *DescribedServer) SetAs2ServiceManagedEgressIpAddresses(v []*string) *DescribedServer { + s.As2ServiceManagedEgressIpAddresses = v + return s +} + // SetCertificate sets the Certificate field's value. func (s *DescribedServer) SetCertificate(v string) *DescribedServer { s.Certificate = &v @@ -12547,7 +12572,8 @@ func (s *HomeDirectoryMapEntry) SetType(v string) *HomeDirectoryMapEntry { type IdentityProviderDetails struct { _ struct{} `type:"structure"` - // The identifier of the Directory Service directory that you want to stop sharing. + // The identifier of the Directory Service directory that you want to use as + // your identity provider. DirectoryId *string `min:"12" type:"string"` // The ARN for a Lambda function to use for the Identity provider.