From afffccfc86663e32e4f5d2846c0b234c6e553447 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Fri, 15 Nov 2024 19:05:51 +0000 Subject: [PATCH 1/4] Merge customizations for Pinpoint SMS Voice V2 --- .../2022-03-31/paginators-1.sdk-extras.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.sdk-extras.json b/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.sdk-extras.json index 7db1e53015..581feaa8a3 100644 --- a/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.sdk-extras.json +++ b/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.sdk-extras.json @@ -43,6 +43,12 @@ "PoolId" ] }, + "ListProtectConfigurationRuleSetNumberOverrides": { + "non_aggregate_keys": [ + "ProtectConfigurationId", + "ProtectConfigurationArn" + ] + }, "ListRegistrationAssociations": { "non_aggregate_keys": [ "RegistrationId", From b74378d7311477ecf36ca8546f6263a9f7c04cbc Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Fri, 15 Nov 2024 19:05:57 +0000 Subject: [PATCH 2/4] Update to latest models --- .../api-change-cloudwatch-20215.json | 5 + .../api-change-connectcampaignsv2-17975.json | 5 + .../api-change-datasync-41907.json | 5 + .../next-release/api-change-ec2-44748.json | 5 + .../next-release/api-change-iot-70914.json | 5 + .../api-change-outposts-92612.json | 5 + .../api-change-pinpointsmsvoicev2-66928.json | 5 + .../api-change-route53resolver-82568.json | 5 + .../data/cloudwatch/2010-08-01/service-2.json | 91 +- .../2024-04-23/endpoint-rule-set-1.json | 350 +++ .../2024-04-23/paginators-1.json | 16 + .../2024-04-23/service-2.json | 2351 +++++++++++++++++ .../data/datasync/2018-11-09/service-2.json | 18 +- botocore/data/ec2/2016-11-15/service-2.json | 6 +- .../data/iot/2015-05-28/paginators-1.json | 12 + botocore/data/iot/2015-05-28/service-2.json | 273 +- .../data/outposts/2019-12-03/service-2.json | 3 +- .../2022-03-31/paginators-1.json | 6 + .../2022-03-31/service-2.json | 460 +++- .../route53resolver/2018-04-01/service-2.json | 98 +- .../connectcampaignsv2/endpoint-tests-1.json | 314 +++ 21 files changed, 3982 insertions(+), 56 deletions(-) create mode 100644 .changes/next-release/api-change-cloudwatch-20215.json create mode 100644 .changes/next-release/api-change-connectcampaignsv2-17975.json create mode 100644 .changes/next-release/api-change-datasync-41907.json create mode 100644 .changes/next-release/api-change-ec2-44748.json create mode 100644 .changes/next-release/api-change-iot-70914.json create mode 100644 .changes/next-release/api-change-outposts-92612.json create mode 100644 .changes/next-release/api-change-pinpointsmsvoicev2-66928.json create mode 100644 .changes/next-release/api-change-route53resolver-82568.json create mode 100644 botocore/data/connectcampaignsv2/2024-04-23/endpoint-rule-set-1.json create mode 100644 botocore/data/connectcampaignsv2/2024-04-23/paginators-1.json create mode 100644 botocore/data/connectcampaignsv2/2024-04-23/service-2.json create mode 100644 tests/functional/endpoint-rules/connectcampaignsv2/endpoint-tests-1.json diff --git a/.changes/next-release/api-change-cloudwatch-20215.json b/.changes/next-release/api-change-cloudwatch-20215.json new file mode 100644 index 0000000000..5bd29ad38c --- /dev/null +++ b/.changes/next-release/api-change-cloudwatch-20215.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``cloudwatch``", + "description": "Adds support for adding related Entity information to metrics ingested through PutMetricData." +} diff --git a/.changes/next-release/api-change-connectcampaignsv2-17975.json b/.changes/next-release/api-change-connectcampaignsv2-17975.json new file mode 100644 index 0000000000..5cf9fd4d15 --- /dev/null +++ b/.changes/next-release/api-change-connectcampaignsv2-17975.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``connectcampaignsv2``", + "description": "Added Amazon Connect Outbound Campaigns V2 SDK." +} diff --git a/.changes/next-release/api-change-datasync-41907.json b/.changes/next-release/api-change-datasync-41907.json new file mode 100644 index 0000000000..0cc5173fbf --- /dev/null +++ b/.changes/next-release/api-change-datasync-41907.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``datasync``", + "description": "Doc-only updates and enhancements related to creating DataSync tasks and describing task executions." +} diff --git a/.changes/next-release/api-change-ec2-44748.json b/.changes/next-release/api-change-ec2-44748.json new file mode 100644 index 0000000000..d0387efc97 --- /dev/null +++ b/.changes/next-release/api-change-ec2-44748.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``ec2``", + "description": "Remove non-functional enum variants for FleetCapacityReservationUsageStrategy" +} diff --git a/.changes/next-release/api-change-iot-70914.json b/.changes/next-release/api-change-iot-70914.json new file mode 100644 index 0000000000..8265bce33b --- /dev/null +++ b/.changes/next-release/api-change-iot-70914.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``iot``", + "description": "This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints." +} diff --git a/.changes/next-release/api-change-outposts-92612.json b/.changes/next-release/api-change-outposts-92612.json new file mode 100644 index 0000000000..9372eb081b --- /dev/null +++ b/.changes/next-release/api-change-outposts-92612.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``outposts``", + "description": "You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront." +} diff --git a/.changes/next-release/api-change-pinpointsmsvoicev2-66928.json b/.changes/next-release/api-change-pinpointsmsvoicev2-66928.json new file mode 100644 index 0000000000..0690152518 --- /dev/null +++ b/.changes/next-release/api-change-pinpointsmsvoicev2-66928.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``pinpoint-sms-voice-v2``", + "description": "Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message." +} diff --git a/.changes/next-release/api-change-route53resolver-82568.json b/.changes/next-release/api-change-route53resolver-82568.json new file mode 100644 index 0000000000..12c045736e --- /dev/null +++ b/.changes/next-release/api-change-route53resolver-82568.json @@ -0,0 +1,5 @@ +{ + "type": "api-change", + "category": "``route53resolver``", + "description": "Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs)." +} diff --git a/botocore/data/cloudwatch/2010-08-01/service-2.json b/botocore/data/cloudwatch/2010-08-01/service-2.json index 443cea7170..7184990455 100644 --- a/botocore/data/cloudwatch/2010-08-01/service-2.json +++ b/botocore/data/cloudwatch/2010-08-01/service-2.json @@ -534,7 +534,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricData structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 1 MB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 1000 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 30 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

You specify the time stamp to be associated with each data point. You can specify time stamps that are as much as two weeks before the current date, and as much as 2 hours after the current day and time.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted. Data points with time stamps between 3 and 24 hours ago can take as much as 2 hours to become available for for GetMetricData or GetMetricStatistics.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

", + "documentation":"

Publishes metric data to Amazon CloudWatch. CloudWatch associates the data with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish metrics with associated entity data (so that related telemetry can be found and viewed together), or publish metric data by itself. To send entity data with your metrics, use the EntityMetricData parameter. To send metrics without entity data, use the MetricData parameter. The EntityMetricData structure includes MetricData structures for the metric data.

You can publish either individual values in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricData structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 1 MB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 1000 different metrics (across both the MetricData and EntityMetricData properties).

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 30 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

You specify the time stamp to be associated with each data point. You can specify time stamps that are as much as two weeks before the current date, and as much as 2 hours after the current day and time.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted. Data points with time stamps between 3 and 24 hours ago can take as much as 2 hours to become available for GetMetricData or GetMetricStatistics.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

", "requestcompression":{"encodings":["gzip"]} }, "PutMetricStream":{ @@ -1577,6 +1577,72 @@ } } }, + "Entity":{ + "type":"structure", + "members":{ + "KeyAttributes":{ + "shape":"EntityKeyAttributesMap", + "documentation":"

The attributes of the entity which identify the specific entity, as a list of key-value pairs. Entities with the same KeyAttributes are considered to be the same entity. For an entity to be valid, the KeyAttributes must exist and be formatted correctly.

There are five allowed attributes (key names): Type, ResourceType, Identifier, Name, and Environment.

For details about how to use the key attributes to specify an entity, see How to add related information to telemetry in the CloudWatch User Guide.

" + }, + "Attributes":{ + "shape":"EntityAttributesMap", + "documentation":"

Additional attributes of the entity that are not used to specify the identity of the entity. A list of key-value pairs.

For details about how to use the attributes, see How to add related information to telemetry in the CloudWatch User Guide.

" + } + }, + "documentation":"

An entity associated with metrics, to allow for finding related telemetry. An entity is typically a resource or service within your system. For example, metrics from an Amazon EC2 instance could be associated with that instance as the entity. Similarly, metrics from a service that you own could be associated with that service as the entity.

" + }, + "EntityAttributesMap":{ + "type":"map", + "key":{"shape":"EntityAttributesMapKeyString"}, + "value":{"shape":"EntityAttributesMapValueString"}, + "max":10, + "min":0 + }, + "EntityAttributesMapKeyString":{ + "type":"string", + "max":256, + "min":1 + }, + "EntityAttributesMapValueString":{ + "type":"string", + "max":2048, + "min":1 + }, + "EntityKeyAttributesMap":{ + "type":"map", + "key":{"shape":"EntityKeyAttributesMapKeyString"}, + "value":{"shape":"EntityKeyAttributesMapValueString"}, + "max":4, + "min":2 + }, + "EntityKeyAttributesMapKeyString":{ + "type":"string", + "max":32, + "min":1 + }, + "EntityKeyAttributesMapValueString":{ + "type":"string", + "max":2048, + "min":1 + }, + "EntityMetricData":{ + "type":"structure", + "members":{ + "Entity":{ + "shape":"Entity", + "documentation":"

The entity associated with the metrics.

" + }, + "MetricData":{ + "shape":"MetricData", + "documentation":"

The metric data.

" + } + }, + "documentation":"

A set of metrics that are associated with an entity, such as a specific service or resource. Contains the entity and the list of metric data associated with it.

" + }, + "EntityMetricDataList":{ + "type":"list", + "member":{"shape":"EntityMetricData"} + }, "ErrorMessage":{ "type":"string", "max":255, @@ -1893,7 +1959,7 @@ }, "OutputFormat":{ "shape":"OutputFormat", - "documentation":"

The format of the resulting image. Only PNG images are supported.

The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example:

<GetMetricWidgetImageResponse xmlns=<URLstring>>

<GetMetricWidgetImageResult>

<MetricWidgetImage>

iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...

</MetricWidgetImage>

</GetMetricWidgetImageResult>

<ResponseMetadata>

<RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId>

</ResponseMetadata>

</GetMetricWidgetImageResponse>

The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an Amazon Web Services SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image.

" + "documentation":"

The format of the resulting image. Only PNG images are supported.

The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example:

<GetMetricWidgetImageResponse xmlns=<URLstring>>

<GetMetricWidgetImageResult>

<MetricWidgetImage>

iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...

</MetricWidgetImage>

</GetMetricWidgetImageResult>

<ResponseMetadata>

<RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId>

</ResponseMetadata>

</GetMetricWidgetImageResponse>

The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an Amazon Web Services SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image.

" } } }, @@ -2343,7 +2409,7 @@ }, "RecentlyActive":{ "shape":"RecentlyActive", - "documentation":"

To filter the results to show only metrics that have had data points published in the past three hours, specify this parameter with a value of PT3H. This is the only valid value for this parameter.

The results that are returned are an approximation of the value you specify. There is a low probability that the returned results include metrics with last published data as much as 40 minutes more than the specified time interval.

" + "documentation":"

To filter the results to show only metrics that have had data points published in the past three hours, specify this parameter with a value of PT3H. This is the only valid value for this parameter.

The results that are returned are an approximation of the value you specify. There is a low probability that the returned results include metrics with last published data as much as 50 minutes more than the specified time interval.

" }, "IncludeLinkedAccounts":{ "shape":"IncludeLinkedAccounts", @@ -3314,7 +3380,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the cloudwatch:TagResource permission.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

If you are using this operation to update an existing alarm, any tags you specify in this parameter are ignored. To change the tags of an existing alarm, use TagResource or UntagResource.

" + "documentation":"

A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm. To be able to associate tags with the alarm when you create the alarm, you must have the cloudwatch:TagResource permission.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.

If you are using this operation to update an existing alarm, any tags you specify in this parameter are ignored. To change the tags of an existing alarm, use TagResource or UntagResource.

To use this field to set tags for an alarm when you create it, you must be signed on with both the cloudwatch:PutMetricAlarm and cloudwatch:TagResource permissions.

" }, "ThresholdMetricId":{ "shape":"MetricId", @@ -3324,10 +3390,7 @@ }, "PutMetricDataInput":{ "type":"structure", - "required":[ - "Namespace", - "MetricData" - ], + "required":["Namespace"], "members":{ "Namespace":{ "shape":"Namespace", @@ -3335,7 +3398,16 @@ }, "MetricData":{ "shape":"MetricData", - "documentation":"

The data for the metric. The array can include no more than 1000 metrics per call.

" + "documentation":"

The data for the metrics. Use this parameter if your metrics do not contain associated entities. The array can include no more than 1000 metrics per call.

The limit of metrics allowed, 1000, is the sum of both EntityMetricData and MetricData metrics.

" + }, + "EntityMetricData":{ + "shape":"EntityMetricDataList", + "documentation":"

Data for metrics that contain associated entity information. You can include up to two EntityMetricData objects, each of which can contain a single Entity and associated metrics.

The limit of metrics allowed, 1000, is the sum of both EntityMetricData and MetricData metrics.

" + }, + "StrictEntityValidation":{ + "shape":"StrictEntityValidation", + "documentation":"

Whether to accept valid metric data when an invalid entity is sent.

This parameter is required when EntityMetricData is included.

", + "box":true } } }, @@ -3662,6 +3734,7 @@ "type":"integer", "min":1 }, + "StrictEntityValidation":{"type":"boolean"}, "SuppressorPeriod":{"type":"integer"}, "Tag":{ "type":"structure", diff --git a/botocore/data/connectcampaignsv2/2024-04-23/endpoint-rule-set-1.json b/botocore/data/connectcampaignsv2/2024-04-23/endpoint-rule-set-1.json new file mode 100644 index 0000000000..60ecce64be --- /dev/null +++ b/botocore/data/connectcampaignsv2/2024-04-23/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://connect-campaigns-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://connect-campaigns-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://connect-campaigns.{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://connect-campaigns.{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/botocore/data/connectcampaignsv2/2024-04-23/paginators-1.json b/botocore/data/connectcampaignsv2/2024-04-23/paginators-1.json new file mode 100644 index 0000000000..c8396078e4 --- /dev/null +++ b/botocore/data/connectcampaignsv2/2024-04-23/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListCampaigns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "campaignSummaryList" + }, + "ListConnectInstanceIntegrations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "integrationSummaryList" + } + } +} diff --git a/botocore/data/connectcampaignsv2/2024-04-23/service-2.json b/botocore/data/connectcampaignsv2/2024-04-23/service-2.json new file mode 100644 index 0000000000..baf7d34cb2 --- /dev/null +++ b/botocore/data/connectcampaignsv2/2024-04-23/service-2.json @@ -0,0 +1,2351 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2024-04-23", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"connect-campaigns", + "jsonVersion":"1.1", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AmazonConnectCampaignServiceV2", + "serviceId":"ConnectCampaignsV2", + "signatureVersion":"v4", + "signingName":"connect-campaigns", + "uid":"connectcampaignsv2-2024-04-23" + }, + "operations":{ + "CreateCampaign":{ + "name":"CreateCampaign", + "http":{ + "method":"PUT", + "requestUri":"/v2/campaigns", + "responseCode":200 + }, + "input":{"shape":"CreateCampaignRequest"}, + "output":{"shape":"CreateCampaignResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a campaign for the specified Amazon Connect account. This API is idempotent.

", + "idempotent":true + }, + "DeleteCampaign":{ + "name":"DeleteCampaign", + "http":{ + "method":"DELETE", + "requestUri":"/v2/campaigns/{id}", + "responseCode":200 + }, + "input":{"shape":"DeleteCampaignRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes a campaign from the specified Amazon Connect account.

", + "idempotent":true + }, + "DeleteCampaignChannelSubtypeConfig":{ + "name":"DeleteCampaignChannelSubtypeConfig", + "http":{ + "method":"DELETE", + "requestUri":"/v2/campaigns/{id}/channel-subtype-config", + "responseCode":200 + }, + "input":{"shape":"DeleteCampaignChannelSubtypeConfigRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes the channel subtype config of a campaign. This API is idempotent.

", + "idempotent":true + }, + "DeleteCampaignCommunicationLimits":{ + "name":"DeleteCampaignCommunicationLimits", + "http":{ + "method":"DELETE", + "requestUri":"/v2/campaigns/{id}/communication-limits", + "responseCode":200 + }, + "input":{"shape":"DeleteCampaignCommunicationLimitsRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes the communication limits config for a campaign. This API is idempotent.

", + "idempotent":true + }, + "DeleteCampaignCommunicationTime":{ + "name":"DeleteCampaignCommunicationTime", + "http":{ + "method":"DELETE", + "requestUri":"/v2/campaigns/{id}/communication-time", + "responseCode":200 + }, + "input":{"shape":"DeleteCampaignCommunicationTimeRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes the communication time config for a campaign. This API is idempotent.

", + "idempotent":true + }, + "DeleteConnectInstanceConfig":{ + "name":"DeleteConnectInstanceConfig", + "http":{ + "method":"DELETE", + "requestUri":"/v2/connect-instance/{connectInstanceId}/config", + "responseCode":200 + }, + "input":{"shape":"DeleteConnectInstanceConfigRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidStateException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes a connect instance config from the specified AWS account.

", + "idempotent":true + }, + "DeleteConnectInstanceIntegration":{ + "name":"DeleteConnectInstanceIntegration", + "http":{ + "method":"POST", + "requestUri":"/v2/connect-instance/{connectInstanceId}/integrations/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteConnectInstanceIntegrationRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Delete the integration for the specified Amazon Connect instance.

" + }, + "DeleteInstanceOnboardingJob":{ + "name":"DeleteInstanceOnboardingJob", + "http":{ + "method":"DELETE", + "requestUri":"/v2/connect-instance/{connectInstanceId}/onboarding", + "responseCode":200 + }, + "input":{"shape":"DeleteInstanceOnboardingJobRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Delete the Connect Campaigns onboarding job for the specified Amazon Connect instance.

", + "idempotent":true + }, + "DescribeCampaign":{ + "name":"DescribeCampaign", + "http":{ + "method":"GET", + "requestUri":"/v2/campaigns/{id}", + "responseCode":200 + }, + "input":{"shape":"DescribeCampaignRequest"}, + "output":{"shape":"DescribeCampaignResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Describes the specific campaign.

" + }, + "GetCampaignState":{ + "name":"GetCampaignState", + "http":{ + "method":"GET", + "requestUri":"/v2/campaigns/{id}/state", + "responseCode":200 + }, + "input":{"shape":"GetCampaignStateRequest"}, + "output":{"shape":"GetCampaignStateResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Get state of a campaign for the specified Amazon Connect account.

" + }, + "GetCampaignStateBatch":{ + "name":"GetCampaignStateBatch", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns-state", + "responseCode":200 + }, + "input":{"shape":"GetCampaignStateBatchRequest"}, + "output":{"shape":"GetCampaignStateBatchResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Get state of campaigns for the specified Amazon Connect account.

" + }, + "GetConnectInstanceConfig":{ + "name":"GetConnectInstanceConfig", + "http":{ + "method":"GET", + "requestUri":"/v2/connect-instance/{connectInstanceId}/config", + "responseCode":200 + }, + "input":{"shape":"GetConnectInstanceConfigRequest"}, + "output":{"shape":"GetConnectInstanceConfigResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Get the specific Connect instance config.

" + }, + "GetInstanceOnboardingJobStatus":{ + "name":"GetInstanceOnboardingJobStatus", + "http":{ + "method":"GET", + "requestUri":"/v2/connect-instance/{connectInstanceId}/onboarding", + "responseCode":200 + }, + "input":{"shape":"GetInstanceOnboardingJobStatusRequest"}, + "output":{"shape":"GetInstanceOnboardingJobStatusResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Get the specific instance onboarding job status.

" + }, + "ListCampaigns":{ + "name":"ListCampaigns", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns-summary", + "responseCode":200 + }, + "input":{"shape":"ListCampaignsRequest"}, + "output":{"shape":"ListCampaignsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Provides summary information about the campaigns under the specified Amazon Connect account.

" + }, + "ListConnectInstanceIntegrations":{ + "name":"ListConnectInstanceIntegrations", + "http":{ + "method":"GET", + "requestUri":"/v2/connect-instance/{connectInstanceId}/integrations", + "responseCode":200 + }, + "input":{"shape":"ListConnectInstanceIntegrationsRequest"}, + "output":{"shape":"ListConnectInstanceIntegrationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Provides summary information about the integration under the specified Connect instance.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v2/tags/{arn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

List tags for a resource.

" + }, + "PauseCampaign":{ + "name":"PauseCampaign", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/pause", + "responseCode":200 + }, + "input":{"shape":"PauseCampaignRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Pauses a campaign for the specified Amazon Connect account.

" + }, + "PutConnectInstanceIntegration":{ + "name":"PutConnectInstanceIntegration", + "http":{ + "method":"PUT", + "requestUri":"/v2/connect-instance/{connectInstanceId}/integrations", + "responseCode":200 + }, + "input":{"shape":"PutConnectInstanceIntegrationRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Put or update the integration for the specified Amazon Connect instance.

", + "idempotent":true + }, + "PutOutboundRequestBatch":{ + "name":"PutOutboundRequestBatch", + "http":{ + "method":"PUT", + "requestUri":"/v2/campaigns/{id}/outbound-requests", + "responseCode":200 + }, + "input":{"shape":"PutOutboundRequestBatchRequest"}, + "output":{"shape":"PutOutboundRequestBatchResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates outbound requests for the specified campaign Amazon Connect account. This API is idempotent.

", + "idempotent":true + }, + "ResumeCampaign":{ + "name":"ResumeCampaign", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/resume", + "responseCode":200 + }, + "input":{"shape":"ResumeCampaignRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Stops a campaign for the specified Amazon Connect account.

" + }, + "StartCampaign":{ + "name":"StartCampaign", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/start", + "responseCode":200 + }, + "input":{"shape":"StartCampaignRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Starts a campaign for the specified Amazon Connect account.

" + }, + "StartInstanceOnboardingJob":{ + "name":"StartInstanceOnboardingJob", + "http":{ + "method":"PUT", + "requestUri":"/v2/connect-instance/{connectInstanceId}/onboarding", + "responseCode":200 + }, + "input":{"shape":"StartInstanceOnboardingJobRequest"}, + "output":{"shape":"StartInstanceOnboardingJobResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Onboard the specific Amazon Connect instance to Connect Campaigns.

", + "idempotent":true + }, + "StopCampaign":{ + "name":"StopCampaign", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/stop", + "responseCode":200 + }, + "input":{"shape":"StopCampaignRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Stops a campaign for the specified Amazon Connect account.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v2/tags/{arn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Tag a resource.

", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v2/tags/{arn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Untag a resource.

", + "idempotent":true + }, + "UpdateCampaignChannelSubtypeConfig":{ + "name":"UpdateCampaignChannelSubtypeConfig", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/channel-subtype-config", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignChannelSubtypeConfigRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the channel subtype config of a campaign. This API is idempotent.

", + "idempotent":true + }, + "UpdateCampaignCommunicationLimits":{ + "name":"UpdateCampaignCommunicationLimits", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/communication-limits", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignCommunicationLimitsRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the communication limits config for a campaign. This API is idempotent.

", + "idempotent":true + }, + "UpdateCampaignCommunicationTime":{ + "name":"UpdateCampaignCommunicationTime", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/communication-time", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignCommunicationTimeRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the communication time config for a campaign. This API is idempotent.

", + "idempotent":true + }, + "UpdateCampaignFlowAssociation":{ + "name":"UpdateCampaignFlowAssociation", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/flow", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignFlowAssociationRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the campaign flow associated with a campaign. This API is idempotent.

", + "idempotent":true + }, + "UpdateCampaignName":{ + "name":"UpdateCampaignName", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/name", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignNameRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the name of a campaign. This API is idempotent.

", + "idempotent":true + }, + "UpdateCampaignSchedule":{ + "name":"UpdateCampaignSchedule", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/schedule", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignScheduleRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the schedule for a campaign. This API is idempotent.

", + "idempotent":true + }, + "UpdateCampaignSource":{ + "name":"UpdateCampaignSource", + "http":{ + "method":"POST", + "requestUri":"/v2/campaigns/{id}/source", + "responseCode":200 + }, + "input":{"shape":"UpdateCampaignSourceRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidCampaignStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the campaign source with a campaign. This API is idempotent.

", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AgentlessConfig":{ + "type":"structure", + "members":{ + }, + "documentation":"

Agentless config

" + }, + "AnswerMachineDetectionConfig":{ + "type":"structure", + "required":["enableAnswerMachineDetection"], + "members":{ + "enableAnswerMachineDetection":{ + "shape":"Boolean", + "documentation":"

Enable or disable answering machine detection

" + }, + "awaitAnswerMachinePrompt":{ + "shape":"Boolean", + "documentation":"

Enable or disable await answer machine prompt

" + } + }, + "documentation":"

Answering Machine Detection config

" + }, + "Arn":{ + "type":"string", + "documentation":"

Amazon Resource Names(ARN)

", + "max":500, + "min":20, + "pattern":"arn:[a-zA-Z0-9-]+:[a-zA-Z0-9-]+:[a-z]{2}-[a-z]+-\\d{1,2}:[a-zA-Z0-9-]+:[^:]+(?:/[^:]+)*(?:/[^:]+)?(?:\\:[^:]+)?" + }, + "AttributeName":{ + "type":"string", + "documentation":"

The key of the attribute. Attribute keys can include only alphanumeric, dash, and underscore characters.

", + "max":32767, + "min":0, + "pattern":"[a-zA-Z0-9\\-_]+" + }, + "AttributeValue":{ + "type":"string", + "documentation":"

The value of the attribute.

", + "max":32767, + "min":0, + "pattern":".*" + }, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "documentation":"

A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

", + "sensitive":true + }, + "BandwidthAllocation":{ + "type":"double", + "documentation":"

The bandwidth allocation of a queue resource.

", + "box":true, + "max":1, + "min":0 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "Campaign":{ + "type":"structure", + "required":[ + "id", + "arn", + "name", + "connectInstanceId", + "channelSubtypeConfig" + ], + "members":{ + "id":{"shape":"CampaignId"}, + "arn":{"shape":"CampaignArn"}, + "name":{"shape":"CampaignName"}, + "connectInstanceId":{"shape":"InstanceId"}, + "channelSubtypeConfig":{"shape":"ChannelSubtypeConfig"}, + "source":{"shape":"Source"}, + "connectCampaignFlowArn":{"shape":"Arn"}, + "schedule":{"shape":"Schedule"}, + "communicationTimeConfig":{"shape":"CommunicationTimeConfig"}, + "communicationLimitsOverride":{"shape":"CommunicationLimitsConfig"}, + "tags":{"shape":"TagMap"} + }, + "documentation":"

An Amazon Connect campaign.

" + }, + "CampaignArn":{ + "type":"string", + "documentation":"

The resource name of an Amazon Connect campaign.

", + "max":500, + "min":20 + }, + "CampaignDeletionPolicy":{ + "type":"string", + "documentation":"

Enumeration of the policies to enact on existing campaigns during instance config deletion

", + "enum":[ + "RETAIN_ALL", + "DELETE_ALL" + ] + }, + "CampaignFilters":{ + "type":"structure", + "members":{ + "instanceIdFilter":{"shape":"InstanceIdFilter"} + }, + "documentation":"

Filter model by type

" + }, + "CampaignId":{ + "type":"string", + "documentation":"

Identifier representing a Campaign

", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9\\-:/]*" + }, + "CampaignName":{ + "type":"string", + "documentation":"

The name of an Amazon Connect Campaign name.

", + "max":127, + "min":1 + }, + "CampaignState":{ + "type":"string", + "documentation":"

State of a campaign

", + "enum":[ + "Initialized", + "Running", + "Paused", + "Stopped", + "Failed", + "Completed" + ] + }, + "CampaignSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "name", + "connectInstanceId", + "channelSubtypes" + ], + "members":{ + "id":{"shape":"CampaignId"}, + "arn":{"shape":"CampaignArn"}, + "name":{"shape":"CampaignName"}, + "connectInstanceId":{"shape":"InstanceId"}, + "channelSubtypes":{"shape":"ChannelSubtypeList"}, + "schedule":{"shape":"Schedule"}, + "connectCampaignFlowArn":{"shape":"Arn"} + }, + "documentation":"

An Amazon Connect campaign summary.

" + }, + "CampaignSummaryList":{ + "type":"list", + "member":{"shape":"CampaignSummary"}, + "documentation":"

A list of Amazon Connect campaigns.

" + }, + "Capacity":{ + "type":"double", + "documentation":"

Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns

", + "box":true, + "max":1, + "min":0.01 + }, + "ChannelSubtype":{ + "type":"string", + "documentation":"

The type of campaign channel subtype.

", + "enum":[ + "TELEPHONY", + "SMS", + "EMAIL" + ] + }, + "ChannelSubtypeConfig":{ + "type":"structure", + "members":{ + "telephony":{"shape":"TelephonyChannelSubtypeConfig"}, + "sms":{"shape":"SmsChannelSubtypeConfig"}, + "email":{"shape":"EmailChannelSubtypeConfig"} + }, + "documentation":"

Campaign Channel Subtype config

" + }, + "ChannelSubtypeList":{ + "type":"list", + "member":{"shape":"ChannelSubtype"}, + "documentation":"

Channel subtype list

" + }, + "ChannelSubtypeParameters":{ + "type":"structure", + "members":{ + "telephony":{"shape":"TelephonyChannelSubtypeParameters"}, + "sms":{"shape":"SmsChannelSubtypeParameters"}, + "email":{"shape":"EmailChannelSubtypeParameters"} + }, + "documentation":"

ChannelSubtypeParameters for an outbound request

", + "union":true + }, + "ClientToken":{ + "type":"string", + "documentation":"

Client provided parameter used for idempotency. Its value must be unique for each request.

", + "max":200, + "min":0, + "pattern":"[a-zA-Z0-9_\\-.]*" + }, + "CommunicationLimit":{ + "type":"structure", + "required":[ + "maxCountPerRecipient", + "frequency", + "unit" + ], + "members":{ + "maxCountPerRecipient":{ + "shape":"CommunicationLimitMaxCountPerRecipientInteger", + "documentation":"

Maximum number of contacts allowed for a given target within the given frequency.

" + }, + "frequency":{ + "shape":"CommunicationLimitFrequencyInteger", + "documentation":"

The number of days to consider with regards to this limit.

" + }, + "unit":{"shape":"CommunicationLimitTimeUnit"} + }, + "documentation":"

Communication Limit

" + }, + "CommunicationLimitFrequencyInteger":{ + "type":"integer", + "box":true, + "max":30, + "min":1 + }, + "CommunicationLimitList":{ + "type":"list", + "member":{"shape":"CommunicationLimit"}, + "documentation":"

List of communication limit

", + "max":2, + "min":0 + }, + "CommunicationLimitMaxCountPerRecipientInteger":{ + "type":"integer", + "box":true, + "min":1 + }, + "CommunicationLimitTimeUnit":{ + "type":"string", + "documentation":"

The communication limit time unit.

", + "enum":["DAY"] + }, + "CommunicationLimits":{ + "type":"structure", + "members":{ + "communicationLimitsList":{"shape":"CommunicationLimitList"} + }, + "documentation":"

Communication limits

", + "union":true + }, + "CommunicationLimitsConfig":{ + "type":"structure", + "members":{ + "allChannelSubtypes":{"shape":"CommunicationLimits"} + }, + "documentation":"

Communication limits config

" + }, + "CommunicationLimitsConfigType":{ + "type":"string", + "documentation":"

The type of campaign communication limits config.

", + "enum":["ALL_CHANNEL_SUBTYPES"] + }, + "CommunicationTimeConfig":{ + "type":"structure", + "required":["localTimeZoneConfig"], + "members":{ + "localTimeZoneConfig":{"shape":"LocalTimeZoneConfig"}, + "telephony":{"shape":"TimeWindow"}, + "sms":{"shape":"TimeWindow"}, + "email":{"shape":"TimeWindow"} + }, + "documentation":"

Campaign communication time config

" + }, + "CommunicationTimeConfigType":{ + "type":"string", + "documentation":"

The type of campaign communication time config

", + "enum":[ + "TELEPHONY", + "SMS", + "EMAIL" + ] + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

The request could not be processed because of conflict in the current state of the resource.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ContactFlowId":{ + "type":"string", + "documentation":"

The identifier of the contact flow for the outbound call.

", + "max":500, + "min":0 + }, + "CreateCampaignRequest":{ + "type":"structure", + "required":[ + "name", + "connectInstanceId", + "channelSubtypeConfig" + ], + "members":{ + "name":{"shape":"CampaignName"}, + "connectInstanceId":{"shape":"InstanceId"}, + "channelSubtypeConfig":{"shape":"ChannelSubtypeConfig"}, + "source":{"shape":"Source"}, + "connectCampaignFlowArn":{"shape":"Arn"}, + "schedule":{"shape":"Schedule"}, + "communicationTimeConfig":{"shape":"CommunicationTimeConfig"}, + "communicationLimitsOverride":{"shape":"CommunicationLimitsConfig"}, + "tags":{"shape":"TagMap"} + }, + "documentation":"

The request for CreateCampaign API.

" + }, + "CreateCampaignResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"CampaignId"}, + "arn":{"shape":"CampaignArn"}, + "tags":{"shape":"TagMap"} + }, + "documentation":"

The response for Create Campaign API

" + }, + "CustomerProfilesIntegrationConfig":{ + "type":"structure", + "required":[ + "domainArn", + "objectTypeNames" + ], + "members":{ + "domainArn":{"shape":"Arn"}, + "objectTypeNames":{"shape":"ObjectTypeNamesMap"} + }, + "documentation":"

Customer Profiles integration config

" + }, + "CustomerProfilesIntegrationIdentifier":{ + "type":"structure", + "required":["domainArn"], + "members":{ + "domainArn":{"shape":"Arn"} + }, + "documentation":"

Customer Profiles integration identifier

" + }, + "CustomerProfilesIntegrationSummary":{ + "type":"structure", + "required":[ + "domainArn", + "objectTypeNames" + ], + "members":{ + "domainArn":{"shape":"Arn"}, + "objectTypeNames":{"shape":"ObjectTypeNamesMap"} + }, + "documentation":"

Customer Profiles integration summary

" + }, + "DailyHours":{ + "type":"map", + "key":{"shape":"DayOfWeek"}, + "value":{"shape":"TimeRangeList"}, + "documentation":"

Daily Hours map

" + }, + "DayOfWeek":{ + "type":"string", + "documentation":"

Day of week enum

", + "enum":[ + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ] + }, + "DeleteCampaignChannelSubtypeConfigRequest":{ + "type":"structure", + "required":[ + "id", + "channelSubtype" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "channelSubtype":{ + "shape":"ChannelSubtype", + "location":"querystring", + "locationName":"channelSubtype" + } + }, + "documentation":"

The request for DeleteCampaignChannelSubtypeConfig API.

" + }, + "DeleteCampaignCommunicationLimitsRequest":{ + "type":"structure", + "required":[ + "id", + "config" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "config":{ + "shape":"CommunicationLimitsConfigType", + "location":"querystring", + "locationName":"config" + } + }, + "documentation":"

The request for DeleteCampaignCommunicationLimits API.

" + }, + "DeleteCampaignCommunicationTimeRequest":{ + "type":"structure", + "required":[ + "id", + "config" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "config":{ + "shape":"CommunicationTimeConfigType", + "location":"querystring", + "locationName":"config" + } + }, + "documentation":"

The request for DeleteCampaignCommunicationTime API.

" + }, + "DeleteCampaignRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for DeleteCampaign API.

" + }, + "DeleteConnectInstanceConfigRequest":{ + "type":"structure", + "required":["connectInstanceId"], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + }, + "campaignDeletionPolicy":{ + "shape":"CampaignDeletionPolicy", + "location":"querystring", + "locationName":"campaignDeletionPolicy" + } + }, + "documentation":"

The request for DeleteConnectInstanceConfig API.

" + }, + "DeleteConnectInstanceIntegrationRequest":{ + "type":"structure", + "required":[ + "connectInstanceId", + "integrationIdentifier" + ], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + }, + "integrationIdentifier":{"shape":"IntegrationIdentifier"} + }, + "documentation":"

The request for DeleteConnectInstanceIntegration API.

" + }, + "DeleteInstanceOnboardingJobRequest":{ + "type":"structure", + "required":["connectInstanceId"], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + } + }, + "documentation":"

The request for DeleteInstanceOnboardingJob API.

" + }, + "DescribeCampaignRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for DescribeCampaign API.

" + }, + "DescribeCampaignResponse":{ + "type":"structure", + "members":{ + "campaign":{"shape":"Campaign"} + }, + "documentation":"

The response for DescribeCampaign API.

" + }, + "DestinationPhoneNumber":{ + "type":"string", + "documentation":"

The phone number of the customer, in E.164 format.

", + "max":20, + "min":0, + "pattern":"[\\d\\-+]*", + "sensitive":true + }, + "DialRequestId":{ + "type":"string", + "documentation":"

Identifier representing a Dial request

", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9_\\-.]*" + }, + "EmailAddress":{ + "type":"string", + "documentation":"

Source/Destination Email address used for Email messages

", + "max":255, + "min":1, + "pattern":".*[^\\s@]+@[^\\s@]+\\.[^\\s@]+.*", + "sensitive":true + }, + "EmailChannelSubtypeConfig":{ + "type":"structure", + "required":[ + "outboundMode", + "defaultOutboundConfig" + ], + "members":{ + "capacity":{"shape":"Capacity"}, + "outboundMode":{"shape":"EmailOutboundMode"}, + "defaultOutboundConfig":{"shape":"EmailOutboundConfig"} + }, + "documentation":"

Email Channel Subtype config

" + }, + "EmailChannelSubtypeParameters":{ + "type":"structure", + "required":[ + "destinationEmailAddress", + "templateParameters" + ], + "members":{ + "destinationEmailAddress":{"shape":"EmailAddress"}, + "connectSourceEmailAddress":{"shape":"EmailAddress"}, + "templateArn":{"shape":"Arn"}, + "templateParameters":{"shape":"Attributes"} + }, + "documentation":"

Parameters for the Email Channel Subtype

" + }, + "EmailDisplayName":{ + "type":"string", + "documentation":"

Display name for Email Address

", + "max":256, + "min":0, + "sensitive":true + }, + "EmailOutboundConfig":{ + "type":"structure", + "required":[ + "connectSourceEmailAddress", + "wisdomTemplateArn" + ], + "members":{ + "connectSourceEmailAddress":{"shape":"EmailAddress"}, + "sourceEmailAddressDisplayName":{"shape":"EmailDisplayName"}, + "wisdomTemplateArn":{"shape":"Arn"} + }, + "documentation":"

Default Email Outbound config

" + }, + "EmailOutboundMode":{ + "type":"structure", + "members":{ + "agentless":{"shape":"AgentlessConfig"} + }, + "documentation":"

Email Outbound Mode

", + "union":true + }, + "Enabled":{ + "type":"boolean", + "documentation":"

Boolean to indicate if custom encryption has been enabled.

" + }, + "EncryptionConfig":{ + "type":"structure", + "required":["enabled"], + "members":{ + "enabled":{"shape":"Enabled"}, + "encryptionType":{"shape":"EncryptionType"}, + "keyArn":{"shape":"EncryptionKey"} + }, + "documentation":"

Encryption config for Connect Instance. Note that sensitive data will always be encrypted. If disabled, service will perform encryption with its own key. If enabled, a KMS key id needs to be provided and KMS charges will apply. KMS is only type supported

" + }, + "EncryptionKey":{ + "type":"string", + "documentation":"

KMS key id/arn for encryption config.

", + "max":500, + "min":0 + }, + "EncryptionType":{ + "type":"string", + "documentation":"

Server-side encryption type.

", + "enum":["KMS"] + }, + "EventType":{ + "type":"string", + "documentation":"

Enumeration of Customer Profiles event type

", + "enum":[ + "Campaign-Email", + "Campaign-SMS", + "Campaign-Telephony", + "Campaign-Orchestration" + ] + }, + "FailedCampaignStateResponse":{ + "type":"structure", + "members":{ + "campaignId":{"shape":"CampaignId"}, + "failureCode":{"shape":"GetCampaignStateBatchFailureCode"} + }, + "documentation":"

Failed response of campaign state

" + }, + "FailedCampaignStateResponseList":{ + "type":"list", + "member":{"shape":"FailedCampaignStateResponse"}, + "documentation":"

List of failed requests of campaign state

", + "max":25, + "min":0 + }, + "FailedRequest":{ + "type":"structure", + "members":{ + "clientToken":{"shape":"ClientToken"}, + "id":{"shape":"DialRequestId"}, + "failureCode":{"shape":"FailureCode"} + }, + "documentation":"

A failed request identified by the unique client token.

" + }, + "FailedRequestList":{ + "type":"list", + "member":{"shape":"FailedRequest"}, + "documentation":"

A list of failed requests.

", + "max":25, + "min":0 + }, + "FailureCode":{ + "type":"string", + "documentation":"

A predefined code indicating the error that caused the failure.

", + "enum":[ + "InvalidInput", + "RequestThrottled", + "UnknownError", + "BufferLimitExceeded" + ] + }, + "GetCampaignStateBatchFailureCode":{ + "type":"string", + "documentation":"

A predefined code indicating the error that caused the failure in getting state of campaigns

", + "enum":[ + "ResourceNotFound", + "UnknownError" + ] + }, + "GetCampaignStateBatchRequest":{ + "type":"structure", + "required":["campaignIds"], + "members":{ + "campaignIds":{"shape":"GetCampaignStateBatchRequestCampaignIdsList"} + }, + "documentation":"

The request for GetCampaignStateBatch API.

" + }, + "GetCampaignStateBatchRequestCampaignIdsList":{ + "type":"list", + "member":{"shape":"CampaignId"}, + "documentation":"

List of CampaignId

", + "max":25, + "min":1 + }, + "GetCampaignStateBatchResponse":{ + "type":"structure", + "members":{ + "successfulRequests":{"shape":"SuccessfulCampaignStateResponseList"}, + "failedRequests":{"shape":"FailedCampaignStateResponseList"} + }, + "documentation":"

The response for GetCampaignStateBatch API.

" + }, + "GetCampaignStateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for GetCampaignState API.

" + }, + "GetCampaignStateResponse":{ + "type":"structure", + "members":{ + "state":{"shape":"CampaignState"} + }, + "documentation":"

The response for GetCampaignState API.

" + }, + "GetConnectInstanceConfigRequest":{ + "type":"structure", + "required":["connectInstanceId"], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + } + }, + "documentation":"

The request for GetConnectInstanceConfig API.

" + }, + "GetConnectInstanceConfigResponse":{ + "type":"structure", + "members":{ + "connectInstanceConfig":{"shape":"InstanceConfig"} + }, + "documentation":"

The response for GetConnectInstanceConfig API.

" + }, + "GetInstanceOnboardingJobStatusRequest":{ + "type":"structure", + "required":["connectInstanceId"], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + } + }, + "documentation":"

The request for GetInstanceOnboardingJobStatus API.

" + }, + "GetInstanceOnboardingJobStatusResponse":{ + "type":"structure", + "members":{ + "connectInstanceOnboardingJobStatus":{"shape":"InstanceOnboardingJobStatus"} + }, + "documentation":"

The response for GetInstanceOnboardingJobStatus API.

" + }, + "InstanceConfig":{ + "type":"structure", + "required":[ + "connectInstanceId", + "serviceLinkedRoleArn", + "encryptionConfig" + ], + "members":{ + "connectInstanceId":{"shape":"InstanceId"}, + "serviceLinkedRoleArn":{"shape":"ServiceLinkedRoleArn"}, + "encryptionConfig":{"shape":"EncryptionConfig"} + }, + "documentation":"

Instance config object

" + }, + "InstanceId":{ + "type":"string", + "documentation":"

Amazon Connect Instance Id

", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9_\\-.]*" + }, + "InstanceIdFilter":{ + "type":"structure", + "required":[ + "value", + "operator" + ], + "members":{ + "value":{"shape":"InstanceId"}, + "operator":{"shape":"InstanceIdFilterOperator"} + }, + "documentation":"

Connect instance identifier filter

" + }, + "InstanceIdFilterOperator":{ + "type":"string", + "documentation":"

Operators for Connect instance identifier filter

", + "enum":["Eq"] + }, + "InstanceOnboardingJobFailureCode":{ + "type":"string", + "documentation":"

Enumeration of the possible failure codes for instance onboarding job

", + "enum":[ + "EVENT_BRIDGE_ACCESS_DENIED", + "EVENT_BRIDGE_MANAGED_RULE_LIMIT_EXCEEDED", + "IAM_ACCESS_DENIED", + "KMS_ACCESS_DENIED", + "KMS_KEY_NOT_FOUND", + "INTERNAL_FAILURE" + ] + }, + "InstanceOnboardingJobStatus":{ + "type":"structure", + "required":[ + "connectInstanceId", + "status" + ], + "members":{ + "connectInstanceId":{"shape":"InstanceId"}, + "status":{"shape":"InstanceOnboardingJobStatusCode"}, + "failureCode":{"shape":"InstanceOnboardingJobFailureCode"} + }, + "documentation":"

Instance onboarding job status object

" + }, + "InstanceOnboardingJobStatusCode":{ + "type":"string", + "documentation":"

Enumeration of the possible states for instance onboarding job

", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "IntegrationConfig":{ + "type":"structure", + "members":{ + "customerProfiles":{"shape":"CustomerProfilesIntegrationConfig"}, + "qConnect":{"shape":"QConnectIntegrationConfig"} + }, + "documentation":"

Integration config for Connect Instance

", + "union":true + }, + "IntegrationIdentifier":{ + "type":"structure", + "members":{ + "customerProfiles":{"shape":"CustomerProfilesIntegrationIdentifier"}, + "qConnect":{"shape":"QConnectIntegrationIdentifier"} + }, + "documentation":"

Integration identifier for Connect instance

", + "union":true + }, + "IntegrationSummary":{ + "type":"structure", + "members":{ + "customerProfiles":{"shape":"CustomerProfilesIntegrationSummary"}, + "qConnect":{"shape":"QConnectIntegrationSummary"} + }, + "documentation":"

Integration summary for Connect instance.

", + "union":true + }, + "IntegrationSummaryList":{ + "type":"list", + "member":{"shape":"IntegrationSummary"}, + "documentation":"

A list of Amazon Connect Instance Integrations.

" + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

Request processing failed because of an error or failure with the service.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InvalidCampaignStateException":{ + "type":"structure", + "required":[ + "state", + "message" + ], + "members":{ + "state":{"shape":"CampaignState"}, + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

The request could not be processed because of conflict in the current state of the campaign.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

The request could not be processed because of conflict in the current state.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "Iso8601Date":{ + "type":"string", + "documentation":"

Date in ISO 8601 format, e.g. 2024-01-01

", + "pattern":"\\d{4}-\\d{2}-\\d{2}" + }, + "Iso8601Duration":{ + "type":"string", + "documentation":"

Time duration in ISO 8601 format

", + "max":50, + "min":0, + "pattern":"P(?:([-+]?[0-9]+)D)?(T(?:([-+]?[0-9]+)H)?(?:([-+]?[0-9]+)M)?(?:([-+]?[0-9]+)(?:[.,]([0-9]{0,9}))?S)?)?" + }, + "Iso8601Time":{ + "type":"string", + "documentation":"

Time in ISO 8601 format, e.g. T23:11

", + "pattern":"T\\d{2}:\\d{2}" + }, + "ListCampaignsRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "filters":{"shape":"CampaignFilters"} + }, + "documentation":"

The request for ListCampaigns API.

" + }, + "ListCampaignsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "campaignSummaryList":{"shape":"CampaignSummaryList"} + }, + "documentation":"

The response for ListCampaigns API.

" + }, + "ListConnectInstanceIntegrationsRequest":{ + "type":"structure", + "required":["connectInstanceId"], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

The request for ListConnectInstanceIntegrations API.

" + }, + "ListConnectInstanceIntegrationsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "integrationSummaryList":{"shape":"IntegrationSummaryList"} + }, + "documentation":"

The response for ListConnectInstanceIntegrations API.

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"Arn", + "location":"uri", + "locationName":"arn" + } + }, + "documentation":"

The request for ListTagsForResource API.

" + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + }, + "documentation":"

The request for ListTagsForResource API.

" + }, + "LocalTimeZoneConfig":{ + "type":"structure", + "members":{ + "defaultTimeZone":{"shape":"TimeZone"}, + "localTimeZoneDetection":{"shape":"LocalTimeZoneDetection"} + }, + "documentation":"

Local time zone config

" + }, + "LocalTimeZoneDetection":{ + "type":"list", + "member":{"shape":"LocalTimeZoneDetectionType"}, + "documentation":"

Local TimeZone Detection method list

" + }, + "LocalTimeZoneDetectionType":{ + "type":"string", + "documentation":"

Local TimeZone Detection method.

", + "enum":[ + "ZIP_CODE", + "AREA_CODE" + ] + }, + "MaxResults":{ + "type":"integer", + "documentation":"

The maximum number of results to return per page.

", + "box":true, + "max":50, + "min":1 + }, + "NextToken":{ + "type":"string", + "documentation":"

The token for the next set of results.

", + "max":1000, + "min":0 + }, + "ObjectTypeName":{ + "type":"string", + "documentation":"

Object type name

", + "max":255, + "min":1 + }, + "ObjectTypeNamesMap":{ + "type":"map", + "key":{"shape":"EventType"}, + "value":{"shape":"ObjectTypeName"}, + "documentation":"

Object type names map.

" + }, + "OpenHours":{ + "type":"structure", + "members":{ + "dailyHours":{"shape":"DailyHours"} + }, + "documentation":"

Open Hours config

", + "union":true + }, + "OutboundRequest":{ + "type":"structure", + "required":[ + "clientToken", + "expirationTime", + "channelSubtypeParameters" + ], + "members":{ + "clientToken":{"shape":"ClientToken"}, + "expirationTime":{"shape":"TimeStamp"}, + "channelSubtypeParameters":{"shape":"ChannelSubtypeParameters"} + }, + "documentation":"

An outbound request for a campaign.

" + }, + "OutboundRequestList":{ + "type":"list", + "member":{"shape":"OutboundRequest"}, + "documentation":"

A list of outbound requests.

", + "max":25, + "min":1 + }, + "PauseCampaignRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for PauseCampaign API.

" + }, + "PredictiveConfig":{ + "type":"structure", + "required":["bandwidthAllocation"], + "members":{ + "bandwidthAllocation":{"shape":"BandwidthAllocation"} + }, + "documentation":"

Predictive config

" + }, + "ProgressiveConfig":{ + "type":"structure", + "required":["bandwidthAllocation"], + "members":{ + "bandwidthAllocation":{"shape":"BandwidthAllocation"} + }, + "documentation":"

Progressive config

" + }, + "PutConnectInstanceIntegrationRequest":{ + "type":"structure", + "required":[ + "connectInstanceId", + "integrationConfig" + ], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + }, + "integrationConfig":{"shape":"IntegrationConfig"} + }, + "documentation":"

The request for PutConnectInstanceIntegration API.

" + }, + "PutOutboundRequestBatchRequest":{ + "type":"structure", + "required":[ + "id", + "outboundRequests" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "outboundRequests":{"shape":"OutboundRequestList"} + }, + "documentation":"

The request for PutOutboundRequestBatch API.

" + }, + "PutOutboundRequestBatchResponse":{ + "type":"structure", + "members":{ + "successfulRequests":{"shape":"SuccessfulRequestList"}, + "failedRequests":{"shape":"FailedRequestList"} + }, + "documentation":"

The response for PutOutboundRequestBatch API.

" + }, + "QConnectIntegrationConfig":{ + "type":"structure", + "required":["knowledgeBaseArn"], + "members":{ + "knowledgeBaseArn":{"shape":"Arn"} + }, + "documentation":"

Q Connect integration config

" + }, + "QConnectIntegrationIdentifier":{ + "type":"structure", + "required":["knowledgeBaseArn"], + "members":{ + "knowledgeBaseArn":{"shape":"Arn"} + }, + "documentation":"

Q Connect integration identifier

" + }, + "QConnectIntegrationSummary":{ + "type":"structure", + "required":["knowledgeBaseArn"], + "members":{ + "knowledgeBaseArn":{"shape":"Arn"} + }, + "documentation":"

Q Connect integration summary

" + }, + "QueueId":{ + "type":"string", + "documentation":"

The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.

", + "max":500, + "min":0 + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

The specified resource was not found.

", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RestrictedPeriod":{ + "type":"structure", + "required":[ + "startDate", + "endDate" + ], + "members":{ + "name":{"shape":"RestrictedPeriodName"}, + "startDate":{"shape":"Iso8601Date"}, + "endDate":{"shape":"Iso8601Date"} + }, + "documentation":"

Restricted period

" + }, + "RestrictedPeriodList":{ + "type":"list", + "member":{"shape":"RestrictedPeriod"}, + "documentation":"

List of restricted period

" + }, + "RestrictedPeriodName":{ + "type":"string", + "documentation":"

The name of a restricted period.

", + "max":127, + "min":1 + }, + "RestrictedPeriods":{ + "type":"structure", + "members":{ + "restrictedPeriodList":{"shape":"RestrictedPeriodList"} + }, + "documentation":"

Restricted period config

", + "union":true + }, + "ResumeCampaignRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for ResumeCampaign API.

" + }, + "Schedule":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{"shape":"TimeStamp"}, + "endTime":{"shape":"TimeStamp"}, + "refreshFrequency":{"shape":"Iso8601Duration"} + }, + "documentation":"

Campaign schedule

" + }, + "ServiceLinkedRoleArn":{ + "type":"string", + "documentation":"

Service linked role arn

", + "max":256, + "min":0 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

Request would cause a service quota to be exceeded.

", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SmsChannelSubtypeConfig":{ + "type":"structure", + "required":[ + "outboundMode", + "defaultOutboundConfig" + ], + "members":{ + "capacity":{"shape":"Capacity"}, + "outboundMode":{"shape":"SmsOutboundMode"}, + "defaultOutboundConfig":{"shape":"SmsOutboundConfig"} + }, + "documentation":"

SMS Channel Subtype config

" + }, + "SmsChannelSubtypeParameters":{ + "type":"structure", + "required":[ + "destinationPhoneNumber", + "templateParameters" + ], + "members":{ + "destinationPhoneNumber":{"shape":"DestinationPhoneNumber"}, + "connectSourcePhoneNumberArn":{"shape":"Arn"}, + "templateArn":{"shape":"Arn"}, + "templateParameters":{"shape":"Attributes"} + }, + "documentation":"

Parameters for the SMS Channel Subtype

" + }, + "SmsOutboundConfig":{ + "type":"structure", + "required":[ + "connectSourcePhoneNumberArn", + "wisdomTemplateArn" + ], + "members":{ + "connectSourcePhoneNumberArn":{"shape":"Arn"}, + "wisdomTemplateArn":{"shape":"Arn"} + }, + "documentation":"

Default SMS Outbound config

" + }, + "SmsOutboundMode":{ + "type":"structure", + "members":{ + "agentless":{"shape":"AgentlessConfig"} + }, + "documentation":"

SMS Outbound Mode

", + "union":true + }, + "Source":{ + "type":"structure", + "members":{ + "customerProfilesSegmentArn":{"shape":"Arn"} + }, + "documentation":"

Source of the campaign

", + "union":true + }, + "SourcePhoneNumber":{ + "type":"string", + "documentation":"

The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.

", + "max":100, + "min":0 + }, + "StartCampaignRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for StartCampaign API.

" + }, + "StartInstanceOnboardingJobRequest":{ + "type":"structure", + "required":[ + "connectInstanceId", + "encryptionConfig" + ], + "members":{ + "connectInstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"connectInstanceId" + }, + "encryptionConfig":{"shape":"EncryptionConfig"} + }, + "documentation":"

The request for StartInstanceOnboardingJob API.

" + }, + "StartInstanceOnboardingJobResponse":{ + "type":"structure", + "members":{ + "connectInstanceOnboardingJobStatus":{"shape":"InstanceOnboardingJobStatus"} + }, + "documentation":"

The response for StartInstanceOnboardingJob API.

" + }, + "StopCampaignRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + } + }, + "documentation":"

The request for StopCampaign API.

" + }, + "String":{"type":"string"}, + "SuccessfulCampaignStateResponse":{ + "type":"structure", + "members":{ + "campaignId":{"shape":"CampaignId"}, + "state":{"shape":"CampaignState"} + }, + "documentation":"

Successful response of campaign state

" + }, + "SuccessfulCampaignStateResponseList":{ + "type":"list", + "member":{"shape":"SuccessfulCampaignStateResponse"}, + "documentation":"

List of successful response of campaign state

", + "max":25, + "min":0 + }, + "SuccessfulRequest":{ + "type":"structure", + "members":{ + "clientToken":{"shape":"ClientToken"}, + "id":{"shape":"DialRequestId"} + }, + "documentation":"

A successful request identified by the unique client token.

" + }, + "SuccessfulRequestList":{ + "type":"list", + "member":{"shape":"SuccessfulRequest"}, + "documentation":"

A list of successful requests identified by the unique client token.

", + "max":25, + "min":0 + }, + "TagKey":{ + "type":"string", + "documentation":"

The key of tag.

", + "max":128, + "min":1, + "pattern":"(?!aws:)[a-zA-Z+-=._:/]+" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "documentation":"

List of tag keys.

", + "max":50, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "documentation":"

Tag map with key and value.

" + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "arn", + "tags" + ], + "members":{ + "arn":{ + "shape":"Arn", + "location":"uri", + "locationName":"arn" + }, + "tags":{"shape":"TagMap"} + }, + "documentation":"

The request for TagResource API.

" + }, + "TagValue":{ + "type":"string", + "documentation":"

The value of tag.

", + "max":256, + "min":0 + }, + "TelephonyChannelSubtypeConfig":{ + "type":"structure", + "required":[ + "outboundMode", + "defaultOutboundConfig" + ], + "members":{ + "capacity":{"shape":"Capacity"}, + "connectQueueId":{"shape":"QueueId"}, + "outboundMode":{"shape":"TelephonyOutboundMode"}, + "defaultOutboundConfig":{"shape":"TelephonyOutboundConfig"} + }, + "documentation":"

Telephony Channel Subtype config

" + }, + "TelephonyChannelSubtypeParameters":{ + "type":"structure", + "required":[ + "destinationPhoneNumber", + "attributes" + ], + "members":{ + "destinationPhoneNumber":{"shape":"DestinationPhoneNumber"}, + "attributes":{"shape":"Attributes"}, + "connectSourcePhoneNumber":{"shape":"SourcePhoneNumber"}, + "answerMachineDetectionConfig":{"shape":"AnswerMachineDetectionConfig"} + }, + "documentation":"

Parameters for the Telephony Channel Subtype

" + }, + "TelephonyOutboundConfig":{ + "type":"structure", + "required":["connectContactFlowId"], + "members":{ + "connectContactFlowId":{"shape":"ContactFlowId"}, + "connectSourcePhoneNumber":{"shape":"SourcePhoneNumber"}, + "answerMachineDetectionConfig":{"shape":"AnswerMachineDetectionConfig"} + }, + "documentation":"

Default Telephony Outbound config

" + }, + "TelephonyOutboundMode":{ + "type":"structure", + "members":{ + "progressive":{"shape":"ProgressiveConfig"}, + "predictive":{"shape":"PredictiveConfig"}, + "agentless":{"shape":"AgentlessConfig"} + }, + "documentation":"

Telephony Outbound Mode

", + "union":true + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "TimeRange":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{"shape":"Iso8601Time"}, + "endTime":{"shape":"Iso8601Time"} + }, + "documentation":"

Time range in 24 hour format

" + }, + "TimeRangeList":{ + "type":"list", + "member":{"shape":"TimeRange"}, + "documentation":"

List of time range

" + }, + "TimeStamp":{ + "type":"timestamp", + "documentation":"

Timestamp with no UTC offset or timezone

", + "timestampFormat":"iso8601" + }, + "TimeWindow":{ + "type":"structure", + "required":["openHours"], + "members":{ + "openHours":{"shape":"OpenHours"}, + "restrictedPeriods":{"shape":"RestrictedPeriods"} + }, + "documentation":"

Time window config

" + }, + "TimeZone":{ + "type":"string", + "documentation":"

Time Zone Id in the IANA format

", + "max":50, + "min":0, + "pattern":"[a-zA-Z0-9_\\-/]*" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "arn", + "tagKeys" + ], + "members":{ + "arn":{ + "shape":"Arn", + "location":"uri", + "locationName":"arn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + }, + "documentation":"

The request for UntagResource API.

" + }, + "UpdateCampaignChannelSubtypeConfigRequest":{ + "type":"structure", + "required":[ + "id", + "channelSubtypeConfig" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "channelSubtypeConfig":{"shape":"ChannelSubtypeConfig"} + }, + "documentation":"

The request for UpdateCampaignChannelSubtypeConfig API.

" + }, + "UpdateCampaignCommunicationLimitsRequest":{ + "type":"structure", + "required":[ + "id", + "communicationLimitsOverride" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "communicationLimitsOverride":{"shape":"CommunicationLimitsConfig"} + }, + "documentation":"

The request for UpdateCampaignCommunicationLimits API.

" + }, + "UpdateCampaignCommunicationTimeRequest":{ + "type":"structure", + "required":[ + "id", + "communicationTimeConfig" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "communicationTimeConfig":{"shape":"CommunicationTimeConfig"} + }, + "documentation":"

The request for UpdateCampaignCommunicationTime API.

" + }, + "UpdateCampaignFlowAssociationRequest":{ + "type":"structure", + "required":[ + "id", + "connectCampaignFlowArn" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "connectCampaignFlowArn":{"shape":"Arn"} + }, + "documentation":"

The request for UpdateCampaignFlowAssociation API.

" + }, + "UpdateCampaignNameRequest":{ + "type":"structure", + "required":[ + "id", + "name" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "name":{"shape":"CampaignName"} + }, + "documentation":"

The request for UpdateCampaignName API.

" + }, + "UpdateCampaignScheduleRequest":{ + "type":"structure", + "required":[ + "id", + "schedule" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "schedule":{"shape":"Schedule"} + }, + "documentation":"

The request for UpdateCampaignSchedule API.

" + }, + "UpdateCampaignSourceRequest":{ + "type":"structure", + "required":[ + "id", + "source" + ], + "members":{ + "id":{ + "shape":"CampaignId", + "location":"uri", + "locationName":"id" + }, + "source":{"shape":"Source"} + }, + "documentation":"

The request for UpdateCampaignSource API.

" + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "xAmzErrorType":{ + "shape":"XAmazonErrorType", + "location":"header", + "locationName":"x-amzn-ErrorType" + } + }, + "documentation":"

The input fails to satisfy the constraints specified by an AWS service.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "XAmazonErrorType":{ + "type":"string", + "documentation":"

A header that defines the error encountered while processing the request.

" + } + }, + "documentation":"

Provide APIs to create and manage Amazon Connect Campaigns.

" +} diff --git a/botocore/data/datasync/2018-11-09/service-2.json b/botocore/data/datasync/2018-11-09/service-2.json index 2c3e37a55d..8549334faa 100644 --- a/botocore/data/datasync/2018-11-09/service-2.json +++ b/botocore/data/datasync/2018-11-09/service-2.json @@ -523,7 +523,7 @@ {"shape":"InvalidRequestException"}, {"shape":"InternalException"} ], - "documentation":"

Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing data transfer or check the results of the transfer.

Some DescribeTaskExecution response elements are only relevant to a specific task mode. For information, see Understanding task mode differences and Understanding data transfer performance metrics.

" + "documentation":"

Provides information about an execution of your DataSync task. You can use this operation to help monitor the progress of an ongoing data transfer or check the results of the transfer.

Some DescribeTaskExecution response elements are only relevant to a specific task mode. For information, see Understanding task mode differences and Understanding data transfer performance counters.

" }, "GenerateRecommendations":{ "name":"GenerateRecommendations", @@ -1698,7 +1698,7 @@ }, "TaskMode":{ "shape":"TaskMode", - "documentation":"

Specifies one of the following task modes for your data transfer:

For more information, see Understanding task mode differences.

" + "documentation":"

Specifies one of the following task modes for your data transfer:

For more information, see Understanding task mode differences.

" } }, "documentation":"

CreateTaskRequest

" @@ -2519,7 +2519,7 @@ }, "EstimatedFilesToTransfer":{ "shape":"long", - "documentation":"

The number of files, objects, and directories that DataSync expects to transfer over the network. This value is calculated during the task execution's PREPARING step before the TRANSFERRING step.

How this gets calculated depends primarily on your task’s transfer mode configuration:

" + "documentation":"

The number of files, objects, and directories that DataSync expects to transfer over the network. This value is calculated while DataSync prepares the transfer.

How this gets calculated depends primarily on your task’s transfer mode configuration:

" }, "EstimatedBytesToTransfer":{ "shape":"long", @@ -2527,7 +2527,7 @@ }, "FilesTransferred":{ "shape":"long", - "documentation":"

The number of files, objects, and directories that DataSync actually transfers over the network. This value is updated periodically during the task execution's TRANSFERRING step when something is read from the source and sent over the network.

If DataSync fails to transfer something, this value can be less than EstimatedFilesToTransfer. In some cases, this value can also be greater than EstimatedFilesToTransfer. This element is implementation-specific for some location types, so don't use it as an exact indication of what's transferring or to monitor your task execution.

" + "documentation":"

The number of files, objects, and directories that DataSync actually transfers over the network. This value is updated periodically during your task execution when something is read from the source and sent over the network.

If DataSync fails to transfer something, this value can be less than EstimatedFilesToTransfer. In some cases, this value can also be greater than EstimatedFilesToTransfer. This element is implementation-specific for some location types, so don't use it as an exact indication of what's transferring or to monitor your task execution.

" }, "BytesWritten":{ "shape":"long", @@ -2539,7 +2539,7 @@ }, "BytesCompressed":{ "shape":"long", - "documentation":"

The number of physical bytes that DataSync transfers over the network after compression (if compression is possible). This number is typically less than BytesTransferred unless the data isn't compressible.

Not currently supported with Enhanced mode tasks.

" + "documentation":"

The number of physical bytes that DataSync transfers over the network after compression (if compression is possible). This number is typically less than BytesTransferred unless the data isn't compressible.

" }, "Result":{ "shape":"TaskExecutionResultDetail", @@ -2551,7 +2551,7 @@ }, "FilesDeleted":{ "shape":"long", - "documentation":"

The number of files, objects, and directories that DataSync actually deletes in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

" + "documentation":"

The number of files, objects, and directories that DataSync actually deletes in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

" }, "FilesSkipped":{ "shape":"long", @@ -2567,7 +2567,7 @@ }, "EstimatedFilesToDelete":{ "shape":"long", - "documentation":"

The number of files, objects, and directories that DataSync expects to delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

" + "documentation":"

The number of files, objects, and directories that DataSync expects to delete in your destination location. If you don't configure your task to delete data in the destination that isn't in the source, the value is always 0.

" }, "TaskMode":{ "shape":"TaskMode", @@ -2575,7 +2575,7 @@ }, "FilesPrepared":{ "shape":"long", - "documentation":"

The number of objects that DataSync will attempt to transfer after comparing your source and destination locations.

Applies only to Enhanced mode tasks.

This metric isn't applicable if you configure your task to transfer all data. In that scenario, DataSync copies everything from the source to the destination without comparing differences between the locations.

" + "documentation":"

The number of objects that DataSync will attempt to transfer after comparing your source and destination locations.

Applies only to Enhanced mode tasks.

This counter isn't applicable if you configure your task to transfer all data. In that scenario, DataSync copies everything from the source to the destination without comparing differences between the locations.

" }, "FilesListed":{ "shape":"TaskExecutionFilesListedDetail", @@ -4699,7 +4699,7 @@ }, "AtDestinationForDelete":{ "shape":"long", - "documentation":"

The number of objects that DataSync finds at your destination location. This metric is only applicable if you configure your task to delete data in the destination that isn't in the source.

" + "documentation":"

The number of objects that DataSync finds at your destination location. This counter is only applicable if you configure your task to delete data in the destination that isn't in the source.

" } }, "documentation":"

The number of objects that DataSync finds at your locations.

Applies only to Enhanced mode tasks.

" diff --git a/botocore/data/ec2/2016-11-15/service-2.json b/botocore/data/ec2/2016-11-15/service-2.json index dbfb8e7cea..0918ac6fb0 100644 --- a/botocore/data/ec2/2016-11-15/service-2.json +++ b/botocore/data/ec2/2016-11-15/service-2.json @@ -30376,11 +30376,7 @@ }, "FleetCapacityReservationUsageStrategy":{ "type":"string", - "enum":[ - "use-capacity-reservations-first", - "use-capacity-reservations-only", - "none" - ] + "enum":["use-capacity-reservations-first"] }, "FleetData":{ "type":"structure", diff --git a/botocore/data/iot/2015-05-28/paginators-1.json b/botocore/data/iot/2015-05-28/paginators-1.json index c9301cee6b..2f18ca4ca3 100644 --- a/botocore/data/iot/2015-05-28/paginators-1.json +++ b/botocore/data/iot/2015-05-28/paginators-1.json @@ -361,6 +361,18 @@ "limit_key": "maxResults", "output_token": "nextToken", "result_key": "validationResultSummaries" + }, + "ListPrincipalThingsV2": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "principalThingObjects" + }, + "ListThingPrincipalsV2": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingPrincipalObjects" } } } diff --git a/botocore/data/iot/2015-05-28/service-2.json b/botocore/data/iot/2015-05-28/service-2.json index a764a21728..86bdbe1e02 100644 --- a/botocore/data/iot/2015-05-28/service-2.json +++ b/botocore/data/iot/2015-05-28/service-2.json @@ -3082,6 +3082,24 @@ ], "documentation":"

Lists the things associated with the specified principal. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

Requires permission to access the ListPrincipalThings action.

" }, + "ListPrincipalThingsV2":{ + "name":"ListPrincipalThingsV2", + "http":{ + "method":"GET", + "requestUri":"/principals/things-v2" + }, + "input":{"shape":"ListPrincipalThingsV2Request"}, + "output":{"shape":"ListPrincipalThingsV2Response"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the things associated with the specified principal. A principal can be an X.509 certificate or an Amazon Cognito ID.

Requires permission to access the ListPrincipalThings action.

" + }, "ListProvisioningTemplateVersions":{ "name":"ListProvisioningTemplateVersions", "http":{ @@ -3330,6 +3348,24 @@ ], "documentation":"

Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

Requires permission to access the ListThingPrincipals action.

" }, + "ListThingPrincipalsV2":{ + "name":"ListThingPrincipalsV2", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/principals-v2" + }, + "input":{"shape":"ListThingPrincipalsV2Request"}, + "output":{"shape":"ListThingPrincipalsV2Response"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the principals associated with the specified thing. A principal can be an X.509 certificate or an Amazon Cognito ID.

Requires permission to access the ListThingPrincipals action.

" + }, "ListThingRegistrationTaskReports":{ "name":"ListThingRegistrationTaskReports", "http":{ @@ -4396,6 +4432,24 @@ ], "documentation":"

Updates the groups to which the thing belongs.

Requires permission to access the UpdateThingGroupsForThing action.

" }, + "UpdateThingType":{ + "name":"UpdateThingType", + "http":{ + "method":"PATCH", + "requestUri":"/thing-types/{thingTypeName}" + }, + "input":{"shape":"UpdateThingTypeRequest"}, + "output":{"shape":"UpdateThingTypeResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a thing type.

" + }, "UpdateTopicRuleDestination":{ "name":"UpdateTopicRuleDestination", "http":{ @@ -5105,6 +5159,12 @@ "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", "location":"header", "locationName":"x-amzn-principal" + }, + "thingPrincipalType":{ + "shape":"ThingPrincipalType", + "documentation":"

The type of the relation you want to specify when you attach a principal to a thing.

", + "location":"querystring", + "locationName":"thingPrincipalType" } }, "documentation":"

The input for the AttachThingPrincipal operation.

" @@ -5138,7 +5198,7 @@ "AttributeValue":{ "type":"string", "max":800, - "pattern":"[a-zA-Z0-9_.,@/:#-]*" + "pattern":"[a-zA-Z0-9_.,@/:#=\\[\\]-]*" }, "Attributes":{ "type":"map", @@ -6793,6 +6853,11 @@ "error":{"httpStatusCode":409}, "exception":true }, + "ConnectionAttributeName":{ + "type":"string", + "max":128, + "pattern":"[a-zA-Z0-9:.]+" + }, "ConnectivityTimestamp":{"type":"long"}, "ConsecutiveDatapointsToAlarm":{ "type":"integer", @@ -10489,7 +10554,7 @@ }, "thingTypeProperties":{ "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.

" + "documentation":"

The ThingTypeProperties contains information about the thing type including description, a list of searchable thing attribute names, and MQTT5 configuration.

" }, "thingTypeMetadata":{ "shape":"ThingTypeMetadata", @@ -14596,6 +14661,49 @@ }, "documentation":"

The output from the ListPrincipalThings operation.

" }, + "ListPrincipalThingsV2Request":{ + "type":"structure", + "required":["principal"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", + "location":"querystring", + "locationName":"maxResults" + }, + "principal":{ + "shape":"Principal", + "documentation":"

The principal. A principal can be an X.509 certificate or an Amazon Cognito ID.

", + "location":"header", + "locationName":"x-amzn-principal" + }, + "thingPrincipalType":{ + "shape":"ThingPrincipalType", + "documentation":"

The type of the relation you want to filter in the response. If no value is provided in this field, the response will list all things, including both the EXCLUSIVE_THING and NON_EXCLUSIVE_THING attachment types.

", + "location":"querystring", + "locationName":"thingPrincipalType" + } + } + }, + "ListPrincipalThingsV2Response":{ + "type":"structure", + "members":{ + "principalThingObjects":{ + "shape":"PrincipalThingObjects", + "documentation":"

A list of thingPrincipalObject that represents the principal and the type of relation it has with the thing.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to get the next set of results, or null if there are no additional results.

" + } + } + }, "ListProvisioningTemplateVersionsRequest":{ "type":"structure", "required":["templateName"], @@ -15170,6 +15278,49 @@ }, "documentation":"

The output from the ListThingPrincipals operation.

" }, + "ListThingPrincipalsV2Request":{ + "type":"structure", + "required":["thingName"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

To retrieve the next set of results, the nextToken value from a previous response; otherwise null to receive the first set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", + "location":"querystring", + "locationName":"maxResults" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

", + "location":"uri", + "locationName":"thingName" + }, + "thingPrincipalType":{ + "shape":"ThingPrincipalType", + "documentation":"

The type of the relation you want to filter in the response. If no value is provided in this field, the response will list all principals, including both the EXCLUSIVE_THING and NON_EXCLUSIVE_THING attachment types.

", + "location":"querystring", + "locationName":"thingPrincipalType" + } + } + }, + "ListThingPrincipalsV2Response":{ + "type":"structure", + "members":{ + "thingPrincipalObjects":{ + "shape":"ThingPrincipalObjects", + "documentation":"

A list of thingPrincipalObject that represents the principal and the type of relation it has with the thing.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to get the next set of results, or null if there are no additional results.

" + } + } + }, "ListThingRegistrationTaskReportsRequest":{ "type":"structure", "required":[ @@ -16104,6 +16255,16 @@ "EXPIRED" ] }, + "Mqtt5Configuration":{ + "type":"structure", + "members":{ + "propagatingAttributes":{ + "shape":"PropagatingAttributeList", + "documentation":"

An object that represents the propagating thing attributes and the connection attributes.

" + } + }, + "documentation":"

The configuration to add user-defined properties to enrich MQTT 5 messages.

" + }, "MqttClientId":{ "type":"string", "max":65535, @@ -16237,6 +16398,10 @@ "type":"integer", "min":1 }, + "OCSPLambdaArn":{ + "type":"string", + "max":140 + }, "OTAUpdateArn":{"type":"string"}, "OTAUpdateDescription":{ "type":"string", @@ -16763,6 +16928,25 @@ "min":1, "pattern":"[a-zA-Z0-9]+" }, + "PrincipalThingObject":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

" + }, + "thingPrincipalType":{ + "shape":"ThingPrincipalType", + "documentation":"

The type of the relation you want to specify when you attach a principal to a thing. The value defaults to NON_EXCLUSIVE_THING.

" + } + }, + "documentation":"

An object that represents the thing and the type of relation it has with the principal.

" + }, + "PrincipalThingObjects":{ + "type":"list", + "member":{"shape":"PrincipalThingObject"} + }, "Principals":{ "type":"list", "member":{"shape":"PrincipalArn"} @@ -16777,6 +16961,28 @@ "type":"list", "member":{"shape":"ProcessingTargetName"} }, + "PropagatingAttribute":{ + "type":"structure", + "members":{ + "userPropertyKey":{ + "shape":"UserPropertyKeyName", + "documentation":"

The key of the user property key-value pair.

" + }, + "thingAttribute":{ + "shape":"AttributeName", + "documentation":"

The user-defined thing attribute that is propagating for MQTT 5 message enrichment.

" + }, + "connectionAttribute":{ + "shape":"ConnectionAttributeName", + "documentation":"

The attribute associated with the connection between a device and Amazon Web Services IoT Core.

" + } + }, + "documentation":"

An object that represents the connection attribute, thing attribute, and the user property key.

" + }, + "PropagatingAttributeList":{ + "type":"list", + "member":{"shape":"PropagatingAttribute"} + }, "Protocol":{ "type":"string", "enum":[ @@ -17994,7 +18200,15 @@ "members":{ "enableOCSPCheck":{ "shape":"EnableOCSPCheck", - "documentation":"

A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server certificate check is enabled or not.

For more information, see Configuring OCSP server-certificate stapling in domain configuration from Amazon Web Services IoT Core Developer Guide.

" + "documentation":"

A Boolean value that indicates whether Online Certificate Status Protocol (OCSP) server certificate check is enabled or not.

For more information, see Server certificate configuration for OCSP stapling from Amazon Web Services IoT Core Developer Guide.

" + }, + "ocspLambdaArn":{ + "shape":"OCSPLambdaArn", + "documentation":"

The Amazon Resource Name (ARN) for a Lambda function that acts as a Request for Comments (RFC) 6960-compliant Online Certificate Status Protocol (OCSP) responder, supporting basic OCSP responses. The Lambda function accepts a JSON string that's Base64-encoded. Therefore, you must convert your OCSP response, which is typically in the Distinguished Encoding Rules (DER) format, into a JSON string that's Base64-encoded. The Lambda function's response is also a Base64-encoded JSON string and the response payload must not exceed 8 kilobytes (KiB) in size. The Lambda function must be in the same Amazon Web Services region and account as the domain configuration.

" + }, + "ocspAuthorizedResponderArn":{ + "shape":"AcmCertificateArn", + "documentation":"

The Amazon Resource Name (ARN) for an X.509 certificate stored in Amazon Web Services Certificate Manager (ACM). If provided, Amazon Web Services IoT Core will use this certificate to validate the signature of the received OCSP response. The OCSP responder must sign responses using either this authorized responder certificate or the issuing certificate, depending on whether the ARN is provided or not. The certificate must be in the same Amazon Web Services region and account as the domain configuration.

" } }, "documentation":"

The server certificate configuration.

" @@ -19279,6 +19493,32 @@ "type":"list", "member":{"shape":"ThingName"} }, + "ThingPrincipalObject":{ + "type":"structure", + "required":["principal"], + "members":{ + "principal":{ + "shape":"Principal", + "documentation":"

The principal of the thing principal object.

" + }, + "thingPrincipalType":{ + "shape":"ThingPrincipalType", + "documentation":"

The type of the relation you want to specify when you attach a principal to a thing. The value defaults to NON_EXCLUSIVE_THING.

" + } + }, + "documentation":"

An object that represents the principal and the type of relation it has with the thing.

" + }, + "ThingPrincipalObjects":{ + "type":"list", + "member":{"shape":"ThingPrincipalObject"} + }, + "ThingPrincipalType":{ + "type":"string", + "enum":[ + "EXCLUSIVE_THING", + "NON_EXCLUSIVE_THING" + ] + }, "ThingTypeArn":{"type":"string"}, "ThingTypeDefinition":{ "type":"structure", @@ -19346,6 +19586,10 @@ "searchableAttributes":{ "shape":"SearchableAttributes", "documentation":"

A list of searchable thing attribute names.

" + }, + "mqtt5Configuration":{ + "shape":"Mqtt5Configuration", + "documentation":"

The configuration to add user-defined properties to enrich MQTT 5 messages.

" } }, "documentation":"

The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names.

" @@ -20901,6 +21145,24 @@ }, "documentation":"

The output from the UpdateThing operation.

" }, + "UpdateThingTypeRequest":{ + "type":"structure", + "required":["thingTypeName"], + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of a thing type.

", + "location":"uri", + "locationName":"thingTypeName" + }, + "thingTypeProperties":{"shape":"ThingTypeProperties"} + } + }, + "UpdateThingTypeResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateTopicRuleDestinationRequest":{ "type":"structure", "required":[ @@ -20957,6 +21219,11 @@ "max":1024, "min":0 }, + "UserPropertyKeyName":{ + "type":"string", + "max":128, + "pattern":"[a-zA-Z0-9:$.]+" + }, "UserPropertyValue":{ "type":"string", "max":1024, diff --git a/botocore/data/outposts/2019-12-03/service-2.json b/botocore/data/outposts/2019-12-03/service-2.json index eae3dbe23a..644e31e038 100644 --- a/botocore/data/outposts/2019-12-03/service-2.json +++ b/botocore/data/outposts/2019-12-03/service-2.json @@ -2474,7 +2474,8 @@ "type":"string", "enum":[ "THREE_YEARS", - "ONE_YEAR" + "ONE_YEAR", + "FIVE_YEARS" ] }, "PostalCode":{ diff --git a/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json b/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json index a149c8899c..8c4ea30eb7 100644 --- a/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json +++ b/botocore/data/pinpoint-sms-voice-v2/2022-03-31/paginators-1.json @@ -125,6 +125,12 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "ProtectConfigurations" + }, + "ListProtectConfigurationRuleSetNumberOverrides": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "RuleSetNumberOverrides" } } } diff --git a/botocore/data/pinpoint-sms-voice-v2/2022-03-31/service-2.json b/botocore/data/pinpoint-sms-voice-v2/2022-03-31/service-2.json index 40cb33c2ae..351a9b35d2 100644 --- a/botocore/data/pinpoint-sms-voice-v2/2022-03-31/service-2.json +++ b/botocore/data/pinpoint-sms-voice-v2/2022-03-31/service-2.json @@ -426,6 +426,23 @@ ], "documentation":"

Permanently delete the protect configuration. The protect configuration must have deletion protection disabled and must not be associated as the account default protect configuration or associated with a configuration set.

" }, + "DeleteProtectConfigurationRuleSetNumberOverride":{ + "name":"DeleteProtectConfigurationRuleSetNumberOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProtectConfigurationRuleSetNumberOverrideRequest"}, + "output":{"shape":"DeleteProtectConfigurationRuleSetNumberOverrideResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Permanently delete the protect configuration rule set number override.

" + }, "DeleteRegistration":{ "name":"DeleteRegistration", "http":{ @@ -862,7 +879,7 @@ {"shape":"ValidationException"}, {"shape":"InternalServerException"} ], - "documentation":"

Retrieves the specified verified destiona numbers.

" + "documentation":"

Retrieves the specified verified destination numbers.

" }, "DisassociateOriginationIdentity":{ "name":"DisassociateOriginationIdentity", @@ -969,6 +986,23 @@ ], "documentation":"

Lists all associated origination identities in your pool.

If you specify filters, the output includes information for only those origination identities that meet the filter criteria.

" }, + "ListProtectConfigurationRuleSetNumberOverrides":{ + "name":"ListProtectConfigurationRuleSetNumberOverrides", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProtectConfigurationRuleSetNumberOverridesRequest"}, + "output":{"shape":"ListProtectConfigurationRuleSetNumberOverridesResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Retrieve all of the protect configuration rule set number overrides that match the filters.

" + }, "ListRegistrationAssociations":{ "name":"ListRegistrationAssociations", "http":{ @@ -984,7 +1018,7 @@ {"shape":"ValidationException"}, {"shape":"InternalServerException"} ], - "documentation":"

Retreive all of the origination identies that are associated with a registration.

" + "documentation":"

Retrieve all of the origination identities that are associated with a registration.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -1022,6 +1056,23 @@ ], "documentation":"

Creates or updates a keyword configuration on an origination phone number or pool.

A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, AWS End User Messaging SMS and Voice responds with a customizable message.

If you specify a keyword that isn't valid, an error is returned.

" }, + "PutMessageFeedback":{ + "name":"PutMessageFeedback", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutMessageFeedbackRequest"}, + "output":{"shape":"PutMessageFeedbackResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Set the MessageFeedbackStatus as RECEIVED or FAILED for the passed in MessageId.

If you use message feedback then you must update message feedback record. When you receive a signal that a user has received the message you must use PutMessageFeedback to set the message feedback record as RECEIVED; Otherwise, an hour after the message feedback record is set to FAILED.

" + }, "PutOptedOutNumber":{ "name":"PutOptedOutNumber", "http":{ @@ -1039,6 +1090,24 @@ ], "documentation":"

Creates an opted out destination phone number in the opt-out list.

If the destination phone number isn't valid or if the specified opt-out list doesn't exist, an error is returned.

" }, + "PutProtectConfigurationRuleSetNumberOverride":{ + "name":"PutProtectConfigurationRuleSetNumberOverride", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutProtectConfigurationRuleSetNumberOverrideRequest"}, + "output":{"shape":"PutProtectConfigurationRuleSetNumberOverrideResult"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Create or update a RuleSetNumberOverride and associate it with a protect configuration.

" + }, "PutRegistrationFieldValue":{ "name":"PutRegistrationFieldValue", "http":{ @@ -1240,6 +1309,23 @@ ], "documentation":"

Set a protect configuration as your account default. You can only have one account default protect configuration at a time. The current account default protect configuration is replaced with the provided protect configuration.

" }, + "SetDefaultMessageFeedbackEnabled":{ + "name":"SetDefaultMessageFeedbackEnabled", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetDefaultMessageFeedbackEnabledRequest"}, + "output":{"shape":"SetDefaultMessageFeedbackEnabledResult"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Sets a configuration set's default for message feedback.

" + }, "SetDefaultMessageType":{ "name":"SetDefaultMessageType", "http":{ @@ -1773,6 +1859,7 @@ "matching-event-types", "default-message-type", "default-sender-id", + "default-message-feedback-enabled", "protect-configuration-id" ] }, @@ -1805,6 +1892,10 @@ "shape":"SenderId", "documentation":"

The default sender ID used by the ConfigurationSet.

" }, + "DefaultMessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

True if message feedback is enabled.

" + }, "CreatedTimestamp":{ "shape":"Timestamp", "documentation":"

The time when the ConfigurationSet was created, in UNIX epoch time format.

" @@ -1895,7 +1986,8 @@ "PROTECT_CONFIGURATION_IS_ACCOUNT_DEFAULT", "PROTECT_CONFIGURATION_ASSOCIATED_WITH_CONFIGURATION_SET", "PROTECT_CONFIGURATION_NOT_ASSOCIATED_WITH_CONFIGURATION_SET", - "DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION" + "DESTINATION_COUNTRY_BLOCKED_BY_PROTECT_CONFIGURATION", + "DESTINATION_PHONE_NUMBER_BLOCKED_BY_PROTECT_NUMBER_OVERRIDE" ] }, "ContextKey":{ @@ -2530,6 +2622,10 @@ "shape":"SenderId", "documentation":"

The default Sender ID of the configuration set that was deleted.

" }, + "DefaultMessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

True if the configuration set has message feedback enabled. By default this is set to false.

" + }, "CreatedTimestamp":{ "shape":"Timestamp", "documentation":"

The time that the deleted configuration set was created in UNIX epoch time format.

" @@ -2850,6 +2946,63 @@ } } }, + "DeleteProtectConfigurationRuleSetNumberOverrideRequest":{ + "type":"structure", + "required":[ + "ProtectConfigurationId", + "DestinationPhoneNumber" + ], + "members":{ + "ProtectConfigurationId":{ + "shape":"ProtectConfigurationIdOrArn", + "documentation":"

The unique identifier for the protect configuration.

" + }, + "DestinationPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The destination phone number in E.164 format.

" + } + } + }, + "DeleteProtectConfigurationRuleSetNumberOverrideResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "DestinationPhoneNumber", + "CreatedTimestamp", + "Action" + ], + "members":{ + "ProtectConfigurationArn":{ + "shape":"ProtectConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the protect configuration.

" + }, + "ProtectConfigurationId":{ + "shape":"ProtectConfigurationId", + "documentation":"

The unique identifier for the protect configuration.

" + }, + "DestinationPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The destination phone number in E.164 format.

" + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time when the rule was created, in UNIX epoch time format.

" + }, + "Action":{ + "shape":"ProtectConfigurationRuleOverrideAction", + "documentation":"

The action associated with the rule.

" + }, + "IsoCountryCode":{ + "shape":"IsoCountryCode", + "documentation":"

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

" + }, + "ExpirationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time when the resource-based policy was created, in UNIX epoch time format.

" + } + } + }, "DeleteRegistrationAttachmentRequest":{ "type":"structure", "required":["RegistrationAttachmentId"], @@ -3805,7 +3958,7 @@ "members":{ "VerifiedDestinationNumberIds":{ "shape":"VerifiedDestinationNumberIdList", - "documentation":"

An array of VerifiedDestinationNumberid to retreive.

" + "documentation":"

An array of VerifiedDestinationNumberid to retrieve.

" }, "DestinationPhoneNumbers":{ "shape":"DestinationPhoneNumberList", @@ -4067,6 +4220,7 @@ "TEXT_SPAM", "TEXT_UNKNOWN", "TEXT_TTL_EXPIRED", + "TEXT_PROTECT_BLOCKED", "VOICE_ALL", "VOICE_INITIATED", "VOICE_RINGING", @@ -4133,7 +4287,7 @@ "type":"string", "max":128, "min":1, - "pattern":"[/\\.:A-Za-z0-9_-]+" + "pattern":"[/\\.:A-Za-z0-9+_-]+" }, "FilterValueList":{ "type":"list", @@ -4402,6 +4556,59 @@ } } }, + "ListProtectConfigurationRuleSetNumberOverrideFilter":{ + "type":"list", + "member":{"shape":"ProtectConfigurationRuleSetNumberOverrideFilterItem"}, + "max":100, + "min":0 + }, + "ListProtectConfigurationRuleSetNumberOverridesRequest":{ + "type":"structure", + "required":["ProtectConfigurationId"], + "members":{ + "ProtectConfigurationId":{ + "shape":"ProtectConfigurationIdOrArn", + "documentation":"

The unique identifier for the protect configuration.

" + }, + "Filters":{ + "shape":"ListProtectConfigurationRuleSetNumberOverrideFilter", + "documentation":"

An array of ProtectConfigurationRuleSetNumberOverrideFilterItem objects to filter the results.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return per each request.

" + } + } + }, + "ListProtectConfigurationRuleSetNumberOverridesResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId" + ], + "members":{ + "ProtectConfigurationArn":{ + "shape":"ProtectConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the protect configuration.

" + }, + "ProtectConfigurationId":{ + "shape":"ProtectConfigurationId", + "documentation":"

The unique identifier for the protect configuration.

" + }, + "RuleSetNumberOverrides":{ + "shape":"ProtectConfigurationRuleSetNumberOverrideList", + "documentation":"

An array of RuleSetNumberOverrides objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request.

" + } + } + }, "ListRegistrationAssociationsRequest":{ "type":"structure", "required":["RegistrationId"], @@ -4514,6 +4721,19 @@ "min":1, "pattern":"s3://([a-z0-9\\.-]{3,63})/(.+)" }, + "MessageFeedbackStatus":{ + "type":"string", + "enum":[ + "RECEIVED", + "FAILED" + ] + }, + "MessageId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9_:/-]+" + }, "MessageType":{ "type":"string", "enum":[ @@ -5166,6 +5386,80 @@ "max":100, "min":1 }, + "ProtectConfigurationRuleOverrideAction":{ + "type":"string", + "enum":[ + "ALLOW", + "BLOCK" + ] + }, + "ProtectConfigurationRuleSetNumberOverride":{ + "type":"structure", + "required":[ + "DestinationPhoneNumber", + "CreatedTimestamp", + "Action" + ], + "members":{ + "DestinationPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The destination phone number in E.164 format.

" + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time when the rule was created, in UNIX epoch time format.

" + }, + "Action":{ + "shape":"ProtectConfigurationRuleOverrideAction", + "documentation":"

The action for the rule to perform of either blocking or allowing messages to the destination phone number.

" + }, + "IsoCountryCode":{ + "shape":"IsoCountryCode", + "documentation":"

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

" + }, + "ExpirationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time the rule will expire at. If ExpirationTimestamp is not set then the rule will not expire.

" + } + }, + "documentation":"

Provides details on a RuleSetNumberOverride.

" + }, + "ProtectConfigurationRuleSetNumberOverrideFilterItem":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"ProtectConfigurationRuleSetNumberOverrideFilterName", + "documentation":"

The name of the attribute to filter on.

" + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

An array values to filter for.

" + } + }, + "documentation":"

The information for a protect configuration rule set number override that meets a specified criteria.

" + }, + "ProtectConfigurationRuleSetNumberOverrideFilterName":{ + "type":"string", + "enum":[ + "iso-country-code", + "destination-phone-number-begins-with", + "action", + "expires-before", + "expires-after", + "created-before", + "created-after" + ] + }, + "ProtectConfigurationRuleSetNumberOverrideList":{ + "type":"list", + "member":{"shape":"ProtectConfigurationRuleSetNumberOverride"}, + "max":100, + "min":1 + }, "ProtectStatus":{ "type":"string", "enum":[ @@ -5224,6 +5518,40 @@ } } }, + "PutMessageFeedbackRequest":{ + "type":"structure", + "required":[ + "MessageId", + "MessageFeedbackStatus" + ], + "members":{ + "MessageId":{ + "shape":"MessageId", + "documentation":"

The unique identifier for the message.

" + }, + "MessageFeedbackStatus":{ + "shape":"MessageFeedbackStatus", + "documentation":"

Set the message feedback to be either RECEIVED or FAILED.

" + } + } + }, + "PutMessageFeedbackResult":{ + "type":"structure", + "required":[ + "MessageId", + "MessageFeedbackStatus" + ], + "members":{ + "MessageId":{ + "shape":"MessageId", + "documentation":"

The unique identifier for the message.

" + }, + "MessageFeedbackStatus":{ + "shape":"MessageFeedbackStatus", + "documentation":"

The current status of the message.

" + } + } + }, "PutOptedOutNumberRequest":{ "type":"structure", "required":[ @@ -5266,6 +5594,77 @@ } } }, + "PutProtectConfigurationRuleSetNumberOverrideRequest":{ + "type":"structure", + "required":[ + "ProtectConfigurationId", + "DestinationPhoneNumber", + "Action" + ], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

", + "idempotencyToken":true + }, + "ProtectConfigurationId":{ + "shape":"ProtectConfigurationIdOrArn", + "documentation":"

The unique identifier for the protect configuration.

" + }, + "DestinationPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The destination phone number in E.164 format.

" + }, + "Action":{ + "shape":"ProtectConfigurationRuleOverrideAction", + "documentation":"

The action for the rule to either block or allow messages to the destination phone number.

" + }, + "ExpirationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time the rule will expire at. If ExpirationTimestamp is not set then the rule does not expire.

" + } + } + }, + "PutProtectConfigurationRuleSetNumberOverrideResult":{ + "type":"structure", + "required":[ + "ProtectConfigurationArn", + "ProtectConfigurationId", + "DestinationPhoneNumber", + "CreatedTimestamp", + "Action" + ], + "members":{ + "ProtectConfigurationArn":{ + "shape":"ProtectConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the protect configuration.

" + }, + "ProtectConfigurationId":{ + "shape":"ProtectConfigurationId", + "documentation":"

The unique identifier for the protect configuration.

" + }, + "DestinationPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The destination phone number in E.164 format.

" + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time when the rule was created, in UNIX epoch time format.

" + }, + "Action":{ + "shape":"ProtectConfigurationRuleOverrideAction", + "documentation":"

The action for the rule to take.

" + }, + "IsoCountryCode":{ + "shape":"IsoCountryCode", + "documentation":"

The two-character code, in ISO 3166-1 alpha-2 format, for the country or region.

" + }, + "ExpirationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time the rule will expire at.

" + } + } + }, "PutRegistrationFieldValueRequest":{ "type":"structure", "required":[ @@ -6467,7 +6866,8 @@ "registration-attachment", "verified-destination-number", "protect-configuration", - "policy" + "policy", + "message" ] }, "SectionPath":{ @@ -6619,7 +7019,7 @@ }, "TimeToLive":{ "shape":"TimeToLive", - "documentation":"

How long the text message is valid for. By default this is 72 hours.

" + "documentation":"

How long the media message is valid for. By default this is 72 hours.

" }, "Context":{ "shape":"ContextMap", @@ -6632,6 +7032,10 @@ "ProtectConfigurationId":{ "shape":"ProtectConfigurationIdOrArn", "documentation":"

The unique identifier of the protect configuration to use.

" + }, + "MessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback.

" } } }, @@ -6695,6 +7099,10 @@ "ProtectConfigurationId":{ "shape":"ProtectConfigurationIdOrArn", "documentation":"

The unique identifier for the protect configuration.

" + }, + "MessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback.

" } } }, @@ -6757,6 +7165,10 @@ "ProtectConfigurationId":{ "shape":"ProtectConfigurationIdOrArn", "documentation":"

The unique identifier for the protect configuration.

" + }, + "MessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback.

" } } }, @@ -6957,6 +7369,40 @@ } } }, + "SetDefaultMessageFeedbackEnabledRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "MessageFeedbackEnabled" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetNameOrArn", + "documentation":"

The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn.

" + }, + "MessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

Set to true to enable message feedback.

" + } + } + }, + "SetDefaultMessageFeedbackEnabledResult":{ + "type":"structure", + "members":{ + "ConfigurationSetArn":{ + "shape":"String", + "documentation":"

The arn of the configuration set.

" + }, + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

The name of the configuration.

" + }, + "MessageFeedbackEnabled":{ + "shape":"Boolean", + "documentation":"

True if message feedback is enabled.

" + } + } + }, "SetDefaultMessageTypeRequest":{ "type":"structure", "required":[ diff --git a/botocore/data/route53resolver/2018-04-01/service-2.json b/botocore/data/route53resolver/2018-04-01/service-2.json index e4d47aba3f..743d90c731 100644 --- a/botocore/data/route53resolver/2018-04-01/service-2.json +++ b/botocore/data/route53resolver/2018-04-01/service-2.json @@ -253,6 +253,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"InternalServiceErrorException"}, + {"shape":"ValidationException"}, {"shape":"ThrottlingException"} ], "documentation":"

Deletes the specified firewall rule.

" @@ -1409,6 +1410,14 @@ ] }, "Boolean":{"type":"boolean"}, + "ConfidenceThreshold":{ + "type":"string", + "enum":[ + "LOW", + "MEDIUM", + "HIGH" + ] + }, "ConflictException":{ "type":"structure", "members":{ @@ -1487,7 +1496,6 @@ "required":[ "CreatorRequestId", "FirewallRuleGroupId", - "FirewallDomainListId", "Priority", "Action", "Name" @@ -1504,7 +1512,8 @@ }, "FirewallDomainListId":{ "shape":"ResourceId", - "documentation":"

The ID of the domain list that you want to use in the rule.

" + "documentation":"

The ID of the domain list that you want to use in the rule. Can't be used together with DnsThreatProtecton.

", + "box":true }, "Priority":{ "shape":"Priority", @@ -1512,7 +1521,7 @@ }, "Action":{ "shape":"Action", - "documentation":"

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

" + "documentation":"

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule:

" }, "BlockResponse":{ "shape":"BlockResponse", @@ -1540,13 +1549,23 @@ }, "FirewallDomainRedirectionAction":{ "shape":"FirewallDomainRedirectionAction", - "documentation":"

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME or DNAME.

Inspect_Redirection_Domain (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.

Trust_Redirection_Domain inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.

", + "documentation":"

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME or DNAME.

INSPECT_REDIRECTION_DOMAIN: (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.

TRUST_REDIRECTION_DOMAIN: Inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.

", "box":true }, "Qtype":{ "shape":"Qtype", "documentation":"

The DNS query type you want the rule to evaluate. Allowed values are;

", "box":true + }, + "DnsThreatProtection":{ + "shape":"DnsThreatProtection", + "documentation":"

Use to create a DNS Firewall Advanced rule.

", + "box":true + }, + "ConfidenceThreshold":{ + "shape":"ConfidenceThreshold", + "documentation":"

The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:

", + "box":true } } }, @@ -1803,10 +1822,7 @@ }, "DeleteFirewallRuleRequest":{ "type":"structure", - "required":[ - "FirewallRuleGroupId", - "FirewallDomainListId" - ], + "required":["FirewallRuleGroupId"], "members":{ "FirewallRuleGroupId":{ "shape":"ResourceId", @@ -1814,7 +1830,13 @@ }, "FirewallDomainListId":{ "shape":"ResourceId", - "documentation":"

The ID of the domain list that's used in the rule.

" + "documentation":"

The ID of the domain list that's used in the rule.

", + "box":true + }, + "FirewallThreatProtectionId":{ + "shape":"ResourceId", + "documentation":"

The ID that is created for a DNS Firewall Advanced rule.

", + "box":true }, "Qtype":{ "shape":"Qtype", @@ -2009,6 +2031,13 @@ } } }, + "DnsThreatProtection":{ + "type":"string", + "enum":[ + "DGA", + "DNS_TUNNELING" + ] + }, "DomainListFileUrl":{ "type":"string", "max":1024, @@ -2205,12 +2234,16 @@ "members":{ "FirewallRuleGroupId":{ "shape":"ResourceId", - "documentation":"

The unique identifier of the firewall rule group of the rule.

" + "documentation":"

The unique identifier of the Firewall rule group of the rule.

" }, "FirewallDomainListId":{ "shape":"ResourceId", "documentation":"

The ID of the domain list that's used in the rule.

" }, + "FirewallThreatProtectionId":{ + "shape":"ResourceId", + "documentation":"

ID of the DNS Firewall Advanced rule.

" + }, "Name":{ "shape":"Name", "documentation":"

The name of the rule.

" @@ -2221,7 +2254,7 @@ }, "Action":{ "shape":"Action", - "documentation":"

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

" + "documentation":"

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule:

" }, "BlockResponse":{ "shape":"BlockResponse", @@ -2253,11 +2286,19 @@ }, "FirewallDomainRedirectionAction":{ "shape":"FirewallDomainRedirectionAction", - "documentation":"

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME or DNAME.

Inspect_Redirection_Domain (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.

Trust_Redirection_Domain inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.

" + "documentation":"

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME or DNAME.

INSPECT_REDIRECTION_DOMAIN: (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.

TRUST_REDIRECTION_DOMAIN: Inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.

" }, "Qtype":{ "shape":"Qtype", "documentation":"

The DNS query type you want the rule to evaluate. Allowed values are;

" + }, + "DnsThreatProtection":{ + "shape":"DnsThreatProtection", + "documentation":"

The type of the DNS Firewall Advanced rule. Valid values are:

" + }, + "ConfidenceThreshold":{ + "shape":"ConfidenceThreshold", + "documentation":"

The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:

" } }, "documentation":"

A single firewall rule in a rule group.

" @@ -3139,7 +3180,7 @@ }, "Action":{ "shape":"Action", - "documentation":"

Optional additional filter for the rules to retrieve.

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

", + "documentation":"

Optional additional filter for the rules to retrieve.

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule:

", "box":true }, "MaxResults":{ @@ -3988,7 +4029,7 @@ }, "Status":{ "shape":"ResolverQueryLogConfigAssociationStatus", - "documentation":"

The status of the specified query logging association. Valid values include the following:

" + "documentation":"

The status of the specified query logging association. Valid values include the following:

" }, "Error":{ "shape":"ResolverQueryLogConfigAssociationError", @@ -4391,7 +4432,7 @@ }, "Protocol":{ "shape":"Protocol", - "documentation":"

The protocols for the Resolver endpoints. DoH-FIPS is applicable for inbound endpoints only.

For an inbound endpoint you can apply the protocols as follows:

For an outbound endpoint you can apply the protocols as follows:

", + "documentation":"

The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.

", "box":true }, "ServerNameIndication":{ @@ -4551,10 +4592,7 @@ }, "UpdateFirewallRuleRequest":{ "type":"structure", - "required":[ - "FirewallRuleGroupId", - "FirewallDomainListId" - ], + "required":["FirewallRuleGroupId"], "members":{ "FirewallRuleGroupId":{ "shape":"ResourceId", @@ -4562,7 +4600,13 @@ }, "FirewallDomainListId":{ "shape":"ResourceId", - "documentation":"

The ID of the domain list to use in the rule.

" + "documentation":"

The ID of the domain list to use in the rule.

", + "box":true + }, + "FirewallThreatProtectionId":{ + "shape":"ResourceId", + "documentation":"

The DNS Firewall Advanced rule ID.

", + "box":true }, "Priority":{ "shape":"Priority", @@ -4571,7 +4615,7 @@ }, "Action":{ "shape":"Action", - "documentation":"

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:

", + "documentation":"

The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advanced rule:

", "box":true }, "BlockResponse":{ @@ -4601,12 +4645,22 @@ }, "FirewallDomainRedirectionAction":{ "shape":"FirewallDomainRedirectionAction", - "documentation":"

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME or DNAME.

Inspect_Redirection_Domain (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.

Trust_Redirection_Domain inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.

", + "documentation":"

How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME or DNAME.

INSPECT_REDIRECTION_DOMAIN: (Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.

TRUST_REDIRECTION_DOMAIN: Inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.

", "box":true }, "Qtype":{ "shape":"Qtype", "documentation":"

The DNS query type you want the rule to evaluate. Allowed values are;

" + }, + "DnsThreatProtection":{ + "shape":"DnsThreatProtection", + "documentation":"

The type of the DNS Firewall Advanced rule. Valid values are:

", + "box":true + }, + "ConfidenceThreshold":{ + "shape":"ConfidenceThreshold", + "documentation":"

The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:

", + "box":true } } }, diff --git a/tests/functional/endpoint-rules/connectcampaignsv2/endpoint-tests-1.json b/tests/functional/endpoint-rules/connectcampaignsv2/endpoint-tests-1.json new file mode 100644 index 0000000000..236e16235a --- /dev/null +++ b/tests/functional/endpoint-rules/connectcampaignsv2/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://connect-campaigns-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://connect-campaigns-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://connect-campaigns.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://connect-campaigns.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://connect-campaigns-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://connect-campaigns-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://connect-campaigns.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://connect-campaigns.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://connect-campaigns-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://connect-campaigns-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://connect-campaigns.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://connect-campaigns.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://connect-campaigns-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://connect-campaigns.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://connect-campaigns-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://connect-campaigns.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 From e2107a05f02c045ea269fb394ff8e97279bcb712 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Fri, 15 Nov 2024 19:05:58 +0000 Subject: [PATCH 3/4] Update endpoints model --- botocore/data/endpoints.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index cb6ce9d8f9..02b08efd46 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -8125,6 +8125,7 @@ "ap-northeast-2" : { }, "ap-northeast-3" : { }, "ap-south-1" : { }, + "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, @@ -8177,6 +8178,7 @@ "deprecated" : true, "hostname" : "emr-containers-fips.us-west-2.amazonaws.com" }, + "il-central-1" : { }, "me-central-1" : { }, "me-south-1" : { }, "sa-east-1" : { }, @@ -21253,6 +21255,7 @@ "ap-southeast-2" : { }, "ap-southeast-3" : { }, "ap-southeast-4" : { }, + "ap-southeast-5" : { }, "ca-central-1" : { "variants" : [ { "hostname" : "transfer-fips.ca-central-1.amazonaws.com", From 01b85d68a710939729135f19e76d2aef02534a21 Mon Sep 17 00:00:00 2001 From: aws-sdk-python-automation Date: Fri, 15 Nov 2024 19:06:54 +0000 Subject: [PATCH 4/4] Bumping version to 1.35.63 --- .changes/1.35.63.json | 42 +++++++++++++++++++ .../api-change-cloudwatch-20215.json | 5 --- .../api-change-connectcampaignsv2-17975.json | 5 --- .../api-change-datasync-41907.json | 5 --- .../next-release/api-change-ec2-44748.json | 5 --- .../next-release/api-change-iot-70914.json | 5 --- .../api-change-outposts-92612.json | 5 --- .../api-change-pinpointsmsvoicev2-66928.json | 5 --- .../api-change-route53resolver-82568.json | 5 --- CHANGELOG.rst | 13 ++++++ botocore/__init__.py | 2 +- docs/source/conf.py | 2 +- 12 files changed, 57 insertions(+), 42 deletions(-) create mode 100644 .changes/1.35.63.json delete mode 100644 .changes/next-release/api-change-cloudwatch-20215.json delete mode 100644 .changes/next-release/api-change-connectcampaignsv2-17975.json delete mode 100644 .changes/next-release/api-change-datasync-41907.json delete mode 100644 .changes/next-release/api-change-ec2-44748.json delete mode 100644 .changes/next-release/api-change-iot-70914.json delete mode 100644 .changes/next-release/api-change-outposts-92612.json delete mode 100644 .changes/next-release/api-change-pinpointsmsvoicev2-66928.json delete mode 100644 .changes/next-release/api-change-route53resolver-82568.json diff --git a/.changes/1.35.63.json b/.changes/1.35.63.json new file mode 100644 index 0000000000..70b58aaa73 --- /dev/null +++ b/.changes/1.35.63.json @@ -0,0 +1,42 @@ +[ + { + "category": "``cloudwatch``", + "description": "Adds support for adding related Entity information to metrics ingested through PutMetricData.", + "type": "api-change" + }, + { + "category": "``connectcampaignsv2``", + "description": "Added Amazon Connect Outbound Campaigns V2 SDK.", + "type": "api-change" + }, + { + "category": "``datasync``", + "description": "Doc-only updates and enhancements related to creating DataSync tasks and describing task executions.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "Remove non-functional enum variants for FleetCapacityReservationUsageStrategy", + "type": "api-change" + }, + { + "category": "``iot``", + "description": "This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints.", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront.", + "type": "api-change" + }, + { + "category": "``pinpoint-sms-voice-v2``", + "description": "Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message.", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs).", + "type": "api-change" + } +] \ No newline at end of file diff --git a/.changes/next-release/api-change-cloudwatch-20215.json b/.changes/next-release/api-change-cloudwatch-20215.json deleted file mode 100644 index 5bd29ad38c..0000000000 --- a/.changes/next-release/api-change-cloudwatch-20215.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``cloudwatch``", - "description": "Adds support for adding related Entity information to metrics ingested through PutMetricData." -} diff --git a/.changes/next-release/api-change-connectcampaignsv2-17975.json b/.changes/next-release/api-change-connectcampaignsv2-17975.json deleted file mode 100644 index 5cf9fd4d15..0000000000 --- a/.changes/next-release/api-change-connectcampaignsv2-17975.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``connectcampaignsv2``", - "description": "Added Amazon Connect Outbound Campaigns V2 SDK." -} diff --git a/.changes/next-release/api-change-datasync-41907.json b/.changes/next-release/api-change-datasync-41907.json deleted file mode 100644 index 0cc5173fbf..0000000000 --- a/.changes/next-release/api-change-datasync-41907.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``datasync``", - "description": "Doc-only updates and enhancements related to creating DataSync tasks and describing task executions." -} diff --git a/.changes/next-release/api-change-ec2-44748.json b/.changes/next-release/api-change-ec2-44748.json deleted file mode 100644 index d0387efc97..0000000000 --- a/.changes/next-release/api-change-ec2-44748.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``ec2``", - "description": "Remove non-functional enum variants for FleetCapacityReservationUsageStrategy" -} diff --git a/.changes/next-release/api-change-iot-70914.json b/.changes/next-release/api-change-iot-70914.json deleted file mode 100644 index 8265bce33b..0000000000 --- a/.changes/next-release/api-change-iot-70914.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``iot``", - "description": "This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints." -} diff --git a/.changes/next-release/api-change-outposts-92612.json b/.changes/next-release/api-change-outposts-92612.json deleted file mode 100644 index 9372eb081b..0000000000 --- a/.changes/next-release/api-change-outposts-92612.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``outposts``", - "description": "You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront." -} diff --git a/.changes/next-release/api-change-pinpointsmsvoicev2-66928.json b/.changes/next-release/api-change-pinpointsmsvoicev2-66928.json deleted file mode 100644 index 0690152518..0000000000 --- a/.changes/next-release/api-change-pinpointsmsvoicev2-66928.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``pinpoint-sms-voice-v2``", - "description": "Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message." -} diff --git a/.changes/next-release/api-change-route53resolver-82568.json b/.changes/next-release/api-change-route53resolver-82568.json deleted file mode 100644 index 12c045736e..0000000000 --- a/.changes/next-release/api-change-route53resolver-82568.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "api-change", - "category": "``route53resolver``", - "description": "Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs)." -} diff --git a/CHANGELOG.rst b/CHANGELOG.rst index b90c22f933..ce12e9d326 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,19 @@ CHANGELOG ========= +1.35.63 +======= + +* api-change:``cloudwatch``: Adds support for adding related Entity information to metrics ingested through PutMetricData. +* api-change:``connectcampaignsv2``: Added Amazon Connect Outbound Campaigns V2 SDK. +* api-change:``datasync``: Doc-only updates and enhancements related to creating DataSync tasks and describing task executions. +* api-change:``ec2``: Remove non-functional enum variants for FleetCapacityReservationUsageStrategy +* api-change:``iot``: This release allows AWS IoT Core users to enrich MQTT messages with propagating attributes, to associate a thing to a connection, and to enable Online Certificate Status Protocol (OCSP) stapling for TLS X.509 server certificates through private endpoints. +* api-change:``outposts``: You can now purchase AWS Outposts rack or server capacity for a 5-year term with one of the following payment options: All Upfront, Partial Upfront, and No Upfront. +* api-change:``pinpoint-sms-voice-v2``: Use rule overrides to always allow or always block messages to specific phone numbers. Use message feedback to monitor if a customer interacts with your message. +* api-change:``route53resolver``: Route 53 Resolver DNS Firewall Advanced Rules allows you to monitor and block suspicious DNS traffic based on anomalies detected in the queries, such as DNS tunneling and Domain Generation Algorithms (DGAs). + + 1.35.62 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index 7395b643c8..a2af477594 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.35.62' +__version__ = '1.35.63' class NullHandler(logging.Handler): diff --git a/docs/source/conf.py b/docs/source/conf.py index fa11dba17e..db4353a35f 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.35.' # The full version, including alpha/beta/rc tags. -release = '1.35.62' +release = '1.35.63' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.