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:
-
Queues: 100
-
Routing profiles: 100
-
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.
",
+ "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:
-
Queues
-
Routing profiles
-
Agents
-
Channels
-
User hierarchy groups
-
Feature
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:
-
Filter keys: A maximum of 5 filter keys are supported in a single request. 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
-
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 key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.
contact_lens_conversational_analytics
is a valid filterValue for the FEATURE
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.
"
+ "GetMetricDataV2Request$Filters": "The filters to apply to returned metrics. You can filter on the following resources:
-
Queues
-
Routing profiles
-
Agents
-
Channels
-
User hierarchy groups
-
Feature
-
Routing step expression
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:
-
Filter keys: A maximum of 5 filter keys are supported in a single request. 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 key. They do not count towards limitation of 100 filter values. For example, a GetMetricDataV2 request can filter by 50 queues, 35 agents, and 15 routing profiles for a total of 100 filter values, along with 3 channel filters.
contact_lens_conversational_analytics
is a valid filterValue for the FEATURE
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.
ROUTING_STEP_EXPRESSION is a valid filter key with a filter value up to 3000 length.
"
}
},
"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.
-
If you group by CHANNEL
, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.
-
If you group by ROUTING_PROFILE
, you must include either a queue or routing profile filter. In addition, a routing profile filter is required 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.
",
- "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.
-
If you group by CHANNEL
, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.
-
If you group by ROUTING_PROFILE
, you must include either a queue or routing profile filter. In addition, a routing profile filter is required 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.
",
+ "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:
-
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.
-
RasterEsriImagery
– The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.
-
VectorEsriLightGrayCanvas
– The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.
-
VectorEsriTopographic
– The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.
-
VectorEsriStreets
– The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map 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.
Valid HERE Technologies map styles:
-
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.
-
HybridHereExploreSatellite
– A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.
Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.
Valid GrabMaps map styles:
-
VectorGrabStandardLight
– The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.
-
VectorGrabStandardDark
– The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.
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:
-
VectorOpenDataStandardLight
– The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.
-
VectorOpenDataStandardDark
– Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.
-
VectorOpenDataVisualizationLight
– The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.
-
VectorOpenDataVisualizationDark
– The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.
"
+ "MapConfiguration$Style": "Specifies the map style selected from an available data provider.
Valid Esri map styles:
-
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 of the world and lower resolution satellite imagery worldwide.
-
VectorEsriLightGrayCanvas
– The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.
-
VectorEsriTopographic
– The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.
-
VectorEsriStreets
– The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.
-
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:
-
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.
-
RasterHereExploreSatellite
– A global map containing high resolution satellite imagery.
-
HybridHereExploreSatellite
– A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.
Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that 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:
-
VectorGrabStandardLight
– The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.
-
VectorGrabStandardDark
– The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.
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:
-
VectorOpenDataStandardLight
– The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.
-
VectorOpenDataStandardDark
– Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.
-
VectorOpenDataVisualizationLight
– The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.
-
VectorOpenDataVisualizationDark
– The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.
"
}
},
"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:
-
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.
",
"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:
-
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.
",
"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:
-
ACTIVE
— The geofence has been indexed by the system.
-
PENDING
— The geofence is being processed by the system.
-
FAILED
— The geofence failed to be indexed by the system.
-
DELETED
— The geofence has been deleted from the system index.
-
DELETING
— The geofence is being deleted from the system index.
",
- "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:
-
VectorEsriDarkGrayCanvas – Ubuntu Medium Italic
| Ubuntu Medium
| Ubuntu Italic
| Ubuntu Regular
| Ubuntu Bold
-
VectorEsriLightGrayCanvas – Ubuntu Italic
| Ubuntu Regular
| Ubuntu Light
| Ubuntu Bold
-
VectorEsriTopographic – Noto Sans Italic
| Noto Sans Regular
| Noto Sans Bold
| Noto Serif Regular
| Roboto Condensed Light Italic
-
VectorEsriStreets – Arial Regular
| Arial Italic
| Arial Bold
-
VectorEsriNavigation – Arial Regular
| Arial Italic
| Arial Bold
Valid font stacks for HERE Technologies styles:
-
VectorHereContrast – Fira GO Regular
| Fira GO Bold
-
VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic
| Fira GO Map
| Fira GO Map Bold
| Noto Sans CJK JP Bold
| Noto Sans CJK JP Light
| Noto Sans CJK JP Regular
Valid font stacks for GrabMaps styles:
Valid font stacks for Open Data styles:
-
VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular
| Amazon Ember Bold,Noto Sans Bold
| Amazon Ember Medium,Noto Sans Medium
| Amazon Ember Regular Italic,Noto Sans Italic
| Amazon Ember Condensed RC Regular,Noto Sans Regular
| Amazon Ember Condensed RC Bold,Noto Sans Bold
| Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular
| Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold
| Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold
| Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular
| Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular
| Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium
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:
-
VectorEsriDarkGrayCanvas – Ubuntu Medium Italic
| Ubuntu Medium
| Ubuntu Italic
| Ubuntu Regular
| Ubuntu Bold
-
VectorEsriLightGrayCanvas – Ubuntu Italic
| Ubuntu Regular
| Ubuntu Light
| Ubuntu Bold
-
VectorEsriTopographic – Noto Sans Italic
| Noto Sans Regular
| Noto Sans Bold
| Noto Serif Regular
| Roboto Condensed Light Italic
-
VectorEsriStreets – 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 styles:
-
VectorHereContrast – Fira GO Regular
| Fira GO Bold
-
VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic
| Fira GO Map
| Fira GO Map Bold
| Noto Sans CJK JP Bold
| Noto Sans CJK JP Light
| Noto Sans CJK JP Regular
Valid font stacks for GrabMaps styles:
Valid font stacks for Open Data styles:
-
VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular
| Amazon Ember Bold,Noto Sans Bold
| Amazon Ember Medium,Noto Sans Medium
| Amazon Ember Regular Italic,Noto Sans Italic
| Amazon Ember Condensed RC Regular,Noto Sans Regular
| Amazon Ember Condensed RC Bold,Noto Sans Bold
| Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular
| Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold
| Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold
| Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular
| Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular
| Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium
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.