diff --git a/.changes/1.35.38.json b/.changes/1.35.38.json new file mode 100644 index 0000000000..06247d72fe --- /dev/null +++ b/.changes/1.35.38.json @@ -0,0 +1,57 @@ +[ + { + "category": "``acm-pca``", + "description": "Documentation updates for AWS Private CA.", + "type": "api-change" + }, + { + "category": "``dms``", + "description": "Introduces DescribeDataMigrations, CreateDataMigration, ModifyDataMigration, DeleteDataMigration, StartDataMigration, StopDataMigration operations to SDK. Provides FailedDependencyFault error message.", + "type": "api-change" + }, + { + "category": "``ec2``", + "description": "This release adds support for assigning the billing of shared Amazon EC2 On-Demand Capacity Reservations.", + "type": "api-change" + }, + { + "category": "``ecs``", + "description": "This is a documentation only release that updates to documentation to let customers know that Amazon Elastic Inference is no longer available.", + "type": "api-change" + }, + { + "category": "``elastic-inference``", + "description": "Elastic Inference - Documentation update to add service shutdown notice.", + "type": "api-change" + }, + { + "category": "``iotfleetwise``", + "description": "Refine campaign related API validations", + "type": "api-change" + }, + { + "category": "``neptune-graph``", + "description": "Support for 16 m-NCU graphs available through account allowlisting", + "type": "api-change" + }, + { + "category": "``outposts``", + "description": "Adding new \"DELIVERED\" enum value for Outposts Order status", + "type": "api-change" + }, + { + "category": "``route53resolver``", + "description": "Route 53 Resolver Forwarding Rules can now include a server name indication (SNI) in the target address for rules that use the DNS-over-HTTPS (DoH) protocol. When a DoH-enabled Outbound Resolver Endpoint forwards a request to a DoH server, it will provide the SNI in the TLS handshake.", + "type": "api-change" + }, + { + "category": "``socialmessaging``", + "description": "This release for AWS End User Messaging includes a public SDK, providing a suite of APIs that enable sending WhatsApp messages to end users.", + "type": "api-change" + }, + { + "category": "``timestream-influxdb``", + "description": "This release updates our regex based validation rules in regards to valid DbInstance and DbParameterGroup name.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7c7d2fa783..ec920fbaf3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,22 @@ CHANGELOG ========= +1.35.38 +======= + +* api-change:``acm-pca``: Documentation updates for AWS Private CA. +* api-change:``dms``: Introduces DescribeDataMigrations, CreateDataMigration, ModifyDataMigration, DeleteDataMigration, StartDataMigration, StopDataMigration operations to SDK. Provides FailedDependencyFault error message. +* api-change:``ec2``: This release adds support for assigning the billing of shared Amazon EC2 On-Demand Capacity Reservations. +* api-change:``ecs``: This is a documentation only release that updates to documentation to let customers know that Amazon Elastic Inference is no longer available. +* api-change:``elastic-inference``: Elastic Inference - Documentation update to add service shutdown notice. +* api-change:``iotfleetwise``: Refine campaign related API validations +* api-change:``neptune-graph``: Support for 16 m-NCU graphs available through account allowlisting +* api-change:``outposts``: Adding new "DELIVERED" enum value for Outposts Order status +* api-change:``route53resolver``: Route 53 Resolver Forwarding Rules can now include a server name indication (SNI) in the target address for rules that use the DNS-over-HTTPS (DoH) protocol. When a DoH-enabled Outbound Resolver Endpoint forwards a request to a DoH server, it will provide the SNI in the TLS handshake. +* api-change:``socialmessaging``: This release for AWS End User Messaging includes a public SDK, providing a suite of APIs that enable sending WhatsApp messages to end users. +* api-change:``timestream-influxdb``: This release updates our regex based validation rules in regards to valid DbInstance and DbParameterGroup name. + + 1.35.37 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index 43868302b1..1d25262c08 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.35.37' +__version__ = '1.35.38' class NullHandler(logging.Handler): @@ -54,6 +54,62 @@ def emit(self, record): ('ExecutePartiQLTransaction', '-'): 'execute-partiql-transaction', ('ExecutePartiQLBatch', '_'): 'execute_partiql_batch', ('ExecutePartiQLBatch', '-'): 'execute-partiql-batch', + ( + 'AssociateWhatsAppBusinessAccount', + '_', + ): 'associate_whatsapp_business_account', + ( + 'AssociateWhatsAppBusinessAccount', + '-', + ): 'associate-whatsapp-business-account', + ('DeleteWhatsAppMessageMedia', '_'): 'delete_whatsapp_media_message', + ('DeleteWhatsAppMessageMedia', '-'): 'delete-whatsapp-media-message', + ( + 'DisassociateWhatsAppBusinessAccount', + '_', + ): 'disassociate_whatsapp_business_account', + ( + 'DisassociateWhatsAppBusinessAccount', + '-', + ): 'disassociate-whatsapp-business-account', + ( + 'GetLinkedWhatsAppBusinessAccount', + '_', + ): 'get_linked_whatsapp_business_account', + ( + 'GetLinkedWhatsAppBusinessAccount', + '-', + ): 'get-linked-whatsapp-business-account', + ( + 'GetLinkedWhatsAppBusinessAccountPhoneNumber', + '_', + ): 'get_linked_whatsapp_business_account_phone_number', + ( + 'GetLinkedWhatsAppBusinessAccountPhoneNumber', + '-', + ): 'get-linked-whatsapp-business-account-phone-number', + ('GetWhatsAppMessageMedia', '_'): 'get_whatsapp_message_media', + ('GetWhatsAppMessageMedia', '-'): 'get-whatsapp-message-media', + ( + 'ListLinkedWhatsAppBusinessAccounts', + '_', + ): 'list_linked_whatsapp_business_accounts', + ( + 'ListLinkedWhatsAppBusinessAccounts', + '-', + ): 'list-linked-whatsapp-business-accounts', + ('PostWhatsAppMessageMedia', '_'): 'post_whatsapp_message_media', + ('PostWhatsAppMessageMedia', '-'): 'post-whatsapp-message-media', + ( + 'PutWhatsAppBusinessAccountEventDestinations', + '_', + ): 'put_whatsapp_business_account_event_destinations', + ( + 'PutWhatsAppBusinessAccountEventDestinations', + '-', + ): 'put-whatsapp-business-account-event-destinations', + ('SendWhatsAppMessage', '_'): 'send_whatsapp_message', + ('SendWhatsAppMessage', '-'): 'send-whatsapp-message', } ScalarTypes = ('string', 'integer', 'boolean', 'timestamp', 'float', 'double') diff --git a/botocore/data/acm-pca/2017-08-22/service-2.json b/botocore/data/acm-pca/2017-08-22/service-2.json index 548bea2067..5058ebf46e 100644 --- a/botocore/data/acm-pca/2017-08-22/service-2.json +++ b/botocore/data/acm-pca/2017-08-22/service-2.json @@ -49,7 +49,7 @@ {"shape":"InvalidStateException"}, {"shape":"RequestInProgressException"} ], - "documentation":"

Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the private key.

Both Amazon Web Services Private CA and the IAM principal must have permission to write to the S3 bucket that you specify. If the IAM principal making the call does not have permission to write to the bucket, then an exception is thrown. For more information, see Access policies for CRLs in Amazon S3.

Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your Audit Reports.

You can generate a maximum of one report every 30 minutes.

", + "documentation":"

Creates an audit report that lists every time that your CA private key is used to issue a certificate. The IssueCertificate and RevokeCertificate actions use the private key.

To save the audit report to your designated Amazon S3 bucket, you must create a bucket policy that grants Amazon Web Services Private CA permission to access and write to it. For an example policy, see Prepare an Amazon S3 bucket for audit reports.

Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your Audit Reports.

You can generate a maximum of one report every 30 minutes.

", "idempotent":true }, "CreatePermission":{ @@ -228,7 +228,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"RequestInProgressException"} ], - "documentation":"

Imports a signed private CA certificate into Amazon Web Services Private CA. This action is used when you are using a chain of trust whose root is located outside Amazon Web Services Private CA. Before you can call this action, the following preparations must in place:

  1. In Amazon Web Services Private CA, call the CreateCertificateAuthority action to create the private CA that you plan to back with the imported certificate.

  2. Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR).

  3. Sign the CSR using a root or intermediate CA hosted by either an on-premises PKI hierarchy or by a commercial CA.

  4. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.

Amazon Web Services Private CA supports three scenarios for installing a CA certificate:

The following additional requirements apply when you import a CA certificate.

Enforcement of Critical Constraints

Amazon Web Services Private CA allows the following extensions to be marked critical in the imported CA certificate or chain.

Amazon Web Services Private CA rejects the following extensions when they are marked critical in an imported CA certificate or chain.

" + "documentation":"

Imports a signed private CA certificate into Amazon Web Services Private CA. This action is used when you are using a chain of trust whose root is located outside Amazon Web Services Private CA. Before you can call this action, the following preparations must in place:

  1. In Amazon Web Services Private CA, call the CreateCertificateAuthority action to create the private CA that you plan to back with the imported certificate.

  2. Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR).

  3. Sign the CSR using a root or intermediate CA hosted by either an on-premises PKI hierarchy or by a commercial CA.

  4. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.

Amazon Web Services Private CA supports three scenarios for installing a CA certificate:

The following additional requirements apply when you import a CA certificate.

Enforcement of Critical Constraints

Amazon Web Services Private CA allows the following extensions to be marked critical in the imported CA certificate or chain.

Amazon Web Services Private CA rejects the following extensions when they are marked critical in an imported CA certificate or chain.

Amazon Web Services Private Certificate Authority will also reject any other extension marked as critical not contained on the preceding list of allowed extensions.

" }, "IssueCertificate":{ "name":"IssueCertificate", @@ -800,7 +800,7 @@ }, "RevocationConfiguration":{ "shape":"RevocationConfiguration", - "documentation":"

Contains information to enable Online Certificate Status Protocol (OCSP) support, to enable a certificate revocation list (CRL), to enable both, or to enable neither. The default is for both certificate validation mechanisms to be disabled.

The following requirements apply to revocation configurations.

For more information, see the OcspConfiguration and CrlConfiguration types.

" + "documentation":"

Contains information to enable support for Online Certificate Status Protocol (OCSP), certificate revocation list (CRL), both protocols, or neither. By default, both certificate validation mechanisms are disabled.

The following requirements apply to revocation configurations.

For more information, see the OcspConfiguration and CrlConfiguration types.

" }, "CertificateAuthorityType":{ "shape":"CertificateAuthorityType", @@ -2067,7 +2067,7 @@ }, "RevocationConfiguration":{ "shape":"RevocationConfiguration", - "documentation":"

Contains information to enable Online Certificate Status Protocol (OCSP) support, to enable a certificate revocation list (CRL), to enable both, or to enable neither. If this parameter is not supplied, existing capibilites remain unchanged. For more information, see the OcspConfiguration and CrlConfiguration types.

The following requirements apply to revocation configurations.

" + "documentation":"

Contains information to enable support for Online Certificate Status Protocol (OCSP), certificate revocation list (CRL), both protocols, or neither. If you don't supply this parameter, existing capibilites remain unchanged. For more information, see the OcspConfiguration and CrlConfiguration types.

The following requirements apply to revocation configurations.

If you update the S3BucketName of CrlConfiguration, you can break revocation for existing certificates. In other words, if you call UpdateCertificateAuthority to update the CRL configuration's S3 bucket name, Amazon Web Services Private CA only writes CRLs to the new S3 bucket. Certificates issued prior to this point will have the old S3 bucket name in your CRL Distribution Point (CDP) extension, essentially breaking revocation. If you must update the S3 bucket, you'll need to reissue old certificates to keep the revocation working. Alternatively, you can use a CustomCname in your CRL configuration if you might need to change the S3 bucket name in the future.

" }, "Status":{ "shape":"CertificateAuthorityStatus", diff --git a/botocore/data/dms/2016-01-01/paginators-1.json b/botocore/data/dms/2016-01-01/paginators-1.json index be68c9ea5e..054b79c2c9 100644 --- a/botocore/data/dms/2016-01-01/paginators-1.json +++ b/botocore/data/dms/2016-01-01/paginators-1.json @@ -77,6 +77,12 @@ "output_token": "Marker", "input_token": "Marker", "limit_key": "MaxRecords" + }, + "DescribeDataMigrations": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "DataMigrations" } } } diff --git a/botocore/data/dms/2016-01-01/service-2.json b/botocore/data/dms/2016-01-01/service-2.json index cefe7292f5..d6f963db0e 100644 --- a/botocore/data/dms/2016-01-01/service-2.json +++ b/botocore/data/dms/2016-01-01/service-2.json @@ -23,7 +23,8 @@ "input":{"shape":"AddTagsToResourceMessage"}, "output":{"shape":"AddTagsToResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundFault"} + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} ], "documentation":"

Adds metadata tags to an DMS resource, including replication instance, endpoint, subnet group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS. For more information, see Tag data type description.

" }, @@ -70,6 +71,23 @@ ], "documentation":"

Cancels a single premigration assessment run.

This operation prevents any individual assessments from running if they haven't started running. It also attempts to cancel any individual assessments that are currently running.

" }, + "CreateDataMigration":{ + "name":"CreateDataMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDataMigrationMessage"}, + "output":{"shape":"CreateDataMigrationResponse"}, + "errors":[ + {"shape":"ResourceQuotaExceededFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"ResourceAlreadyExistsFault"}, + {"shape":"InvalidOperationFault"}, + {"shape":"FailedDependencyFault"} + ], + "documentation":"

Creates a data migration using the provided settings.

" + }, "CreateDataProvider":{ "name":"CreateDataProvider", "http":{ @@ -81,7 +99,8 @@ "errors":[ {"shape":"ResourceQuotaExceededFault"}, {"shape":"AccessDeniedFault"}, - {"shape":"ResourceAlreadyExistsFault"} + {"shape":"ResourceAlreadyExistsFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Creates a data provider using the provided settings. A data provider stores a data store type and location information about your database.

" }, @@ -159,7 +178,8 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"S3ResourceNotFoundFault"}, - {"shape":"S3AccessDeniedFault"} + {"shape":"S3AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Creates the instance profile using the specified parameters.

" }, @@ -177,7 +197,8 @@ {"shape":"ResourceQuotaExceededFault"}, {"shape":"ResourceNotFoundFault"}, {"shape":"S3ResourceNotFoundFault"}, - {"shape":"S3AccessDeniedFault"} + {"shape":"S3AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Creates the migration project using the specified parameters.

You can run this action only after you create an instance profile and data providers using CreateInstanceProfile and CreateDataProvider.

" }, @@ -288,6 +309,21 @@ ], "documentation":"

Deletes the connection between a replication instance and an endpoint.

" }, + "DeleteDataMigration":{ + "name":"DeleteDataMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDataMigrationMessage"}, + "output":{"shape":"DeleteDataMigrationResponse"}, + "errors":[ + {"shape":"InvalidResourceStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"FailedDependencyFault"} + ], + "documentation":"

Deletes the specified data migration.

" + }, "DeleteDataProvider":{ "name":"DeleteDataProvider", "http":{ @@ -299,7 +335,8 @@ "errors":[ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} + {"shape":"InvalidResourceStateFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Deletes the specified data provider.

All migration projects associated with the data provider must be deleted or modified before you can delete the data provider.

" }, @@ -340,7 +377,8 @@ "input":{"shape":"DeleteCollectorRequest"}, "errors":[ {"shape":"InvalidResourceStateFault"}, - {"shape":"CollectorNotFoundFault"} + {"shape":"CollectorNotFoundFault"}, + {"shape":"AccessDeniedFault"} ], "documentation":"

Deletes the specified Fleet Advisor collector.

" }, @@ -354,7 +392,8 @@ "output":{"shape":"DeleteFleetAdvisorDatabasesResponse"}, "errors":[ {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidOperationFault"} + {"shape":"InvalidOperationFault"}, + {"shape":"AccessDeniedFault"} ], "documentation":"

Deletes the specified Fleet Advisor collector databases.

" }, @@ -369,7 +408,8 @@ "errors":[ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} + {"shape":"InvalidResourceStateFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Deletes the specified instance profile.

All migration projects associated with the instance profile must be deleted or modified before you can delete the instance profile.

" }, @@ -384,7 +424,9 @@ "errors":[ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} + {"shape":"AccessDeniedFault"}, + {"shape":"InvalidResourceStateFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Deletes the specified migration project.

The migration project must be closed before you can delete it.

" }, @@ -524,6 +566,21 @@ ], "documentation":"

Returns configuration parameters for a schema conversion project.

" }, + "DescribeDataMigrations":{ + "name":"DescribeDataMigrations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDataMigrationsMessage"}, + "output":{"shape":"DescribeDataMigrationsResponse"}, + "errors":[ + {"shape":"InvalidResourceStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"FailedDependencyFault"} + ], + "documentation":"

Returns information about data migrations.

" + }, "DescribeDataProviders":{ "name":"DescribeDataProviders", "http":{ @@ -534,7 +591,8 @@ "output":{"shape":"DescribeDataProvidersResponse"}, "errors":[ {"shape":"ResourceNotFoundFault"}, - {"shape":"AccessDeniedFault"} + {"shape":"AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Returns a paginated list of data providers for your account in the current region.

" }, @@ -699,7 +757,8 @@ "output":{"shape":"DescribeInstanceProfilesResponse"}, "errors":[ {"shape":"ResourceNotFoundFault"}, - {"shape":"AccessDeniedFault"} + {"shape":"AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Returns a paginated list of instance profiles for your account in the current region.

" }, @@ -778,7 +837,8 @@ "output":{"shape":"DescribeMigrationProjectsResponse"}, "errors":[ {"shape":"ResourceNotFoundFault"}, - {"shape":"AccessDeniedFault"} + {"shape":"AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Returns a paginated list of migration projects for your account in the current region.

" }, @@ -1044,7 +1104,8 @@ "input":{"shape":"ListTagsForResourceMessage"}, "output":{"shape":"ListTagsForResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundFault"} + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} ], "documentation":"

Lists all metadata tags attached to an DMS resource, including replication instance, endpoint, subnet group, and migration task. For more information, see Tag data type description.

" }, @@ -1062,6 +1123,21 @@ ], "documentation":"

Modifies the specified schema conversion configuration using the provided parameters.

" }, + "ModifyDataMigration":{ + "name":"ModifyDataMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDataMigrationMessage"}, + "output":{"shape":"ModifyDataMigrationResponse"}, + "errors":[ + {"shape":"InvalidResourceStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"FailedDependencyFault"} + ], + "documentation":"

Modifies an existing DMS data migration.

" + }, "ModifyDataProvider":{ "name":"ModifyDataProvider", "http":{ @@ -1073,7 +1149,8 @@ "errors":[ {"shape":"AccessDeniedFault"}, {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} + {"shape":"InvalidResourceStateFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Modifies the specified data provider using the provided settings.

You must remove the data provider from all migration projects before you can modify it.

" }, @@ -1129,7 +1206,8 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"S3ResourceNotFoundFault"}, - {"shape":"S3AccessDeniedFault"} + {"shape":"S3AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Modifies the specified instance profile using the provided parameters.

All migration projects associated with the instance profile must be deleted or modified before you can modify the instance profile.

" }, @@ -1146,7 +1224,8 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidResourceStateFault"}, {"shape":"S3ResourceNotFoundFault"}, - {"shape":"S3AccessDeniedFault"} + {"shape":"S3AccessDeniedFault"}, + {"shape":"FailedDependencyFault"} ], "documentation":"

Modifies the specified migration project using the provided parameters.

The migration project must be closed before you can modify it.

" }, @@ -1305,7 +1384,8 @@ "input":{"shape":"RemoveTagsFromResourceMessage"}, "output":{"shape":"RemoveTagsFromResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundFault"} + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} ], "documentation":"

Removes metadata tags from an DMS resource, including replication instance, endpoint, subnet group, and migration task. For more information, see Tag data type description.

" }, @@ -1322,6 +1402,23 @@ ], "documentation":"

Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

" }, + "StartDataMigration":{ + "name":"StartDataMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDataMigrationMessage"}, + "output":{"shape":"StartDataMigrationResponse"}, + "errors":[ + {"shape":"InvalidResourceStateFault"}, + {"shape":"InvalidOperationFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"ResourceQuotaExceededFault"}, + {"shape":"FailedDependencyFault"} + ], + "documentation":"

Starts the specified data migration.

" + }, "StartExtensionPackAssociation":{ "name":"StartExtensionPackAssociation", "http":{ @@ -1524,6 +1621,21 @@ ], "documentation":"

Starts a new premigration assessment run for one or more individual assessments of a migration task.

The assessments that you can specify depend on the source and target database engine and the migration type defined for the given task. To run this operation, your migration task must already be created. After you run this operation, you can review the status of each individual assessment. You can also run the migration task manually after the assessment run and its individual assessments complete.

" }, + "StopDataMigration":{ + "name":"StopDataMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDataMigrationMessage"}, + "output":{"shape":"StopDataMigrationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"}, + {"shape":"FailedDependencyFault"} + ], + "documentation":"

Stops the specified data migration.

" + }, "StopReplication":{ "name":"StopReplication", "http":{ @@ -1999,7 +2111,7 @@ }, "MinCapacityUnits":{ "shape":"IntegerOptional", - "documentation":"

Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for DMS Serverless is 1. You don't have to specify a value for the MinCapacityUnits parameter. If you don't set this value, DMS scans the current activity of available source tables to identify an optimum setting for this parameter. If there is no current source activity or DMS can't otherwise identify a more appropriate value, it sets this parameter to the minimum DCU value allowed, 1.

" + "documentation":"

Specifies the minimum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. A single DCU is 2GB of RAM, with 1 DCU as the minimum value allowed. The list of valid DCU values includes 1, 2, 4, 8, 16, 32, 64, 128, 192, 256, and 384. So, the minimum DCU value that you can specify for DMS Serverless is 1. If you don't set this value, DMS sets this parameter to the minimum DCU value allowed, 1. If there is no current source activity, DMS scales down your replication until it reaches the value specified in MinCapacityUnits.

" }, "MultiAZ":{ "shape":"BooleanOptional", @@ -2054,6 +2166,61 @@ "type":"list", "member":{"shape":"Connection"} }, + "CreateDataMigrationMessage":{ + "type":"structure", + "required":[ + "MigrationProjectIdentifier", + "DataMigrationType", + "ServiceAccessRoleArn" + ], + "members":{ + "DataMigrationName":{ + "shape":"String", + "documentation":"

A user-friendly name for the data migration. Data migration names have the following constraints:

" + }, + "MigrationProjectIdentifier":{ + "shape":"String", + "documentation":"

An identifier for the migration project.

" + }, + "DataMigrationType":{ + "shape":"MigrationTypeValue", + "documentation":"

Specifies if the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the service access role that you want to use to create the data migration.

" + }, + "EnableCloudwatchLogs":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether to enable CloudWatch logs for the data migration.

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

Specifies information about the source data provider.

" + }, + "NumberOfJobs":{ + "shape":"IntegerOptional", + "documentation":"

The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags to be assigned to the data migration.

" + }, + "SelectionRules":{ + "shape":"SecretString", + "documentation":"

An optional JSON string specifying what tables, views, and schemas to include or exclude from the migration.

" + } + } + }, + "CreateDataMigrationResponse":{ + "type":"structure", + "members":{ + "DataMigration":{ + "shape":"DataMigration", + "documentation":"

Information about the created data migration.

" + } + } + }, "CreateDataProviderMessage":{ "type":"structure", "required":[ @@ -2110,7 +2277,7 @@ }, "EngineName":{ "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"opensearch\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"docdb\", \"sqlserver\", \"neptune\", and \"babelfish\".

" + "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"opensearch\", \"redshift\", \"s3\", \"db2\", \"db2-zos\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"docdb\", \"sqlserver\", \"neptune\", \"babelfish\", redshift-serverless, aurora-serverless, aurora-postgresql-serverless, gcp-mysql, azure-sql-managed-instance, redis, dms-transfer.

" }, "Username":{ "shape":"String", @@ -2605,7 +2772,7 @@ "members":{ "ReplicationSubnetGroupIdentifier":{ "shape":"String", - "documentation":"

The name for the replication subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, spaces, underscores, or hyphens. Must not be \"default\".

Example: mySubnetgroup

" + "documentation":"

The name for the replication subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, or hyphens. Must not be \"default\".

Example: mySubnetgroup

" }, "ReplicationSubnetGroupDescription":{ "shape":"String", @@ -2715,6 +2882,136 @@ "parquet" ] }, + "DataMigration":{ + "type":"structure", + "members":{ + "DataMigrationName":{ + "shape":"String", + "documentation":"

The user-friendly name for the data migration.

" + }, + "DataMigrationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies this replication.

" + }, + "DataMigrationCreateTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The UTC time when DMS created the data migration.

" + }, + "DataMigrationStartTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The UTC time when DMS started the data migration.

" + }, + "DataMigrationEndTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The UTC time when data migration ended.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The IAM role that the data migration uses to access Amazon Web Services resources.

" + }, + "MigrationProjectArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the data migration's associated migration project.

" + }, + "DataMigrationType":{ + "shape":"MigrationTypeValue", + "documentation":"

Specifies whether the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.

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

Specifies CloudWatch settings and selection rules for the data migration.

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

Specifies information about the data migration's source data provider.

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

Provides information about the data migration's run, including start and stop time, latency, and data migration progress.

" + }, + "DataMigrationStatus":{ + "shape":"String", + "documentation":"

The current status of the data migration.

" + }, + "PublicIpAddresses":{ + "shape":"PublicIpAddressList", + "documentation":"

The IP addresses of the endpoints for the data migration.

" + }, + "LastFailureMessage":{ + "shape":"String", + "documentation":"

Information about the data migration's most recent error or failure.

" + }, + "StopReason":{ + "shape":"String", + "documentation":"

The reason the data migration last stopped.

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

This object provides information about a DMS data migration.

" + }, + "DataMigrationSettings":{ + "type":"structure", + "members":{ + "NumberOfJobs":{ + "shape":"IntegerOptional", + "documentation":"

The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.

" + }, + "CloudwatchLogsEnabled":{ + "shape":"BooleanOptional", + "documentation":"

Whether to enable CloudWatch logging for the data migration.

" + }, + "SelectionRules":{ + "shape":"SecretString", + "documentation":"

A JSON-formatted string that defines what objects to include and exclude from the migration.

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

Options for configuring a data migration, including whether to enable CloudWatch logs, and the selection rules to use to include or exclude database objects from the migration.

" + }, + "DataMigrationStatistics":{ + "type":"structure", + "members":{ + "TablesLoaded":{ + "shape":"Integer", + "documentation":"

The number of tables loaded in the current data migration run.

" + }, + "ElapsedTimeMillis":{ + "shape":"Long", + "documentation":"

The elapsed duration of the data migration run.

" + }, + "TablesLoading":{ + "shape":"Integer", + "documentation":"

The data migration's table loading progress.

" + }, + "FullLoadPercentage":{ + "shape":"Integer", + "documentation":"

The data migration's progress in the full-load migration phase.

" + }, + "CDCLatency":{ + "shape":"Integer", + "documentation":"

The current latency of the change data capture (CDC) operation.

" + }, + "TablesQueued":{ + "shape":"Integer", + "documentation":"

The number of tables that are waiting for processing.

" + }, + "TablesErrored":{ + "shape":"Integer", + "documentation":"

The number of tables that DMS failed to process.

" + }, + "StartTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The time when the migration started.

" + }, + "StopTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The time when the migration stopped or failed.

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

Information about the data migration run, including start and stop time, latency, and migration progress.

" + }, + "DataMigrations":{ + "type":"list", + "member":{"shape":"DataMigration"} + }, "DataProvider":{ "type":"structure", "members":{ @@ -3006,6 +3303,25 @@ }, "documentation":"

" }, + "DeleteDataMigrationMessage":{ + "type":"structure", + "required":["DataMigrationIdentifier"], + "members":{ + "DataMigrationIdentifier":{ + "shape":"String", + "documentation":"

The identifier (name or ARN) of the data migration to delete.

" + } + } + }, + "DeleteDataMigrationResponse":{ + "type":"structure", + "members":{ + "DataMigration":{ + "shape":"DataMigration", + "documentation":"

The deleted data migration.

" + } + } + }, "DeleteDataProviderMessage":{ "type":"structure", "required":["DataProviderIdentifier"], @@ -3378,6 +3694,44 @@ } } }, + "DescribeDataMigrationsMessage":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the data migrations.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

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

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "WithoutSettings":{ + "shape":"BooleanOptional", + "documentation":"

An option to set to avoid returning information about settings. Use this to reduce overhead when setting information is too large. To use this option, choose true; otherwise, choose false (the default).

" + }, + "WithoutStatistics":{ + "shape":"BooleanOptional", + "documentation":"

An option to set to avoid returning information about statistics. Use this to reduce overhead when statistics information is too large. To use this option, choose true; otherwise, choose false (the default).

" + } + } + }, + "DescribeDataMigrationsResponse":{ + "type":"structure", + "members":{ + "DataMigrations":{ + "shape":"DataMigrations", + "documentation":"

Returns information about the data migrations used in the project.

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

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, "DescribeDataProvidersMessage":{ "type":"structure", "members":{ @@ -5216,6 +5570,14 @@ }, "documentation":"

Provides information about a metadata model assessment exported to SQL.

" }, + "FailedDependencyFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A dependency threw an exception.

", + "exception":true + }, "Filter":{ "type":"structure", "required":[ @@ -5888,6 +6250,10 @@ }, "documentation":"

Provides information that defines a MariaDB data provider.

" }, + "Marker":{ + "type":"string", + "max":1024 + }, "MessageFormatValue":{ "type":"string", "enum":[ @@ -6079,6 +6445,53 @@ } } }, + "ModifyDataMigrationMessage":{ + "type":"structure", + "required":["DataMigrationIdentifier"], + "members":{ + "DataMigrationIdentifier":{ + "shape":"String", + "documentation":"

The identifier (name or ARN) of the data migration to modify.

" + }, + "DataMigrationName":{ + "shape":"String", + "documentation":"

The new name for the data migration.

" + }, + "EnableCloudwatchLogs":{ + "shape":"BooleanOptional", + "documentation":"

Whether to enable Cloudwatch logs for the data migration.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The new service access role ARN for the data migration.

" + }, + "DataMigrationType":{ + "shape":"MigrationTypeValue", + "documentation":"

The new migration type for the data migration.

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

The new information about the source data provider for the data migration.

" + }, + "NumberOfJobs":{ + "shape":"IntegerOptional", + "documentation":"

The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.

" + }, + "SelectionRules":{ + "shape":"SecretString", + "documentation":"

A JSON-formatted string that defines what objects to include and exclude from the migration.

" + } + } + }, + "ModifyDataMigrationResponse":{ + "type":"structure", + "members":{ + "DataMigration":{ + "shape":"DataMigration", + "documentation":"

Information about the modified data migration.

" + } + } + }, "ModifyDataProviderMessage":{ "type":"structure", "required":["DataProviderIdentifier"], @@ -7362,6 +7775,11 @@ }, "documentation":"

Information about provisioning resources for an DMS serverless replication.

" }, + "PublicIpAddressList":{ + "type":"list", + "member":{"shape":"String"}, + "sensitive":true + }, "RdsConfiguration":{ "type":"structure", "members":{ @@ -9005,6 +9423,32 @@ }, "documentation":"

Describes a server in a Fleet Advisor collector inventory.

" }, + "SourceDataSetting":{ + "type":"structure", + "members":{ + "CDCStartPosition":{ + "shape":"String", + "documentation":"

The change data capture (CDC) start position for the source data provider.

" + }, + "CDCStartTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The change data capture (CDC) start time for the source data provider.

" + }, + "CDCStopTime":{ + "shape":"Iso8601DateTime", + "documentation":"

The change data capture (CDC) stop time for the source data provider.

" + }, + "SlotName":{ + "shape":"String", + "documentation":"

The name of the replication slot on the source data provider. This attribute is only valid for a PostgreSQL or Aurora PostgreSQL source.

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

Defines settings for a source data provider for a data migration.

" + }, + "SourceDataSettings":{ + "type":"list", + "member":{"shape":"SourceDataSetting"} + }, "SourceIdsList":{ "type":"list", "member":{"shape":"String"} @@ -9020,6 +9464,32 @@ "ssl-encryption" ] }, + "StartDataMigrationMessage":{ + "type":"structure", + "required":[ + "DataMigrationIdentifier", + "StartType" + ], + "members":{ + "DataMigrationIdentifier":{ + "shape":"String", + "documentation":"

The identifier (name or ARN) of the data migration to start.

" + }, + "StartType":{ + "shape":"StartReplicationMigrationTypeValue", + "documentation":"

Specifies the start type for the data migration. Valid values include start-replication, reload-target, and resume-processing.

" + } + } + }, + "StartDataMigrationResponse":{ + "type":"structure", + "members":{ + "DataMigration":{ + "shape":"DataMigration", + "documentation":"

The data migration that DMS started.

" + } + } + }, "StartExtensionPackAssociationMessage":{ "type":"structure", "required":["MigrationProjectIdentifier"], @@ -9260,6 +9730,14 @@ }, "documentation":"

" }, + "StartReplicationMigrationTypeValue":{ + "type":"string", + "enum":[ + "reload-target", + "resume-processing", + "start-replication" + ] + }, "StartReplicationResponse":{ "type":"structure", "members":{ @@ -9397,6 +9875,25 @@ "reload-target" ] }, + "StopDataMigrationMessage":{ + "type":"structure", + "required":["DataMigrationIdentifier"], + "members":{ + "DataMigrationIdentifier":{ + "shape":"String", + "documentation":"

The identifier (name or ARN) of the data migration to stop.

" + } + } + }, + "StopDataMigrationResponse":{ + "type":"structure", + "members":{ + "DataMigration":{ + "shape":"DataMigration", + "documentation":"

The data migration that DMS stopped.

" + } + } + }, "StopReplicationMessage":{ "type":"structure", "required":["ReplicationConfigArn"], diff --git a/botocore/data/ec2/2016-11-15/paginators-1.json b/botocore/data/ec2/2016-11-15/paginators-1.json index 163a95c03c..3cafd551d4 100644 --- a/botocore/data/ec2/2016-11-15/paginators-1.json +++ b/botocore/data/ec2/2016-11-15/paginators-1.json @@ -853,6 +853,12 @@ "limit_key": "MaxResults", "output_token": "NextToken", "result_key": "MacHosts" + }, + "DescribeCapacityReservationBillingRequests": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CapacityReservationBillingRequests" } } } diff --git a/botocore/data/ec2/2016-11-15/service-2.json b/botocore/data/ec2/2016-11-15/service-2.json index 115148f603..572cfa5784 100644 --- a/botocore/data/ec2/2016-11-15/service-2.json +++ b/botocore/data/ec2/2016-11-15/service-2.json @@ -24,6 +24,16 @@ "output":{"shape":"AcceptAddressTransferResult"}, "documentation":"

Accepts an Elastic IP address transfer. For more information, see Accept a transferred Elastic IP address in the Amazon VPC User Guide.

" }, + "AcceptCapacityReservationBillingOwnership":{ + "name":"AcceptCapacityReservationBillingOwnership", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptCapacityReservationBillingOwnershipRequest"}, + "output":{"shape":"AcceptCapacityReservationBillingOwnershipResult"}, + "documentation":"

Accepts a request to assign billing of the available capacity of a shared Capacity Reservation to your account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

" + }, "AcceptReservedInstancesExchangeQuote":{ "name":"AcceptReservedInstancesExchangeQuote", "http":{ @@ -162,7 +172,7 @@ }, "input":{"shape":"AssignPrivateNatGatewayAddressRequest"}, "output":{"shape":"AssignPrivateNatGatewayAddressResult"}, - "documentation":"

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

" + "documentation":"

Assigns private IPv4 addresses to a private NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

" }, "AssociateAddress":{ "name":"AssociateAddress", @@ -174,6 +184,16 @@ "output":{"shape":"AssociateAddressResult"}, "documentation":"

Associates an Elastic IP address, or carrier IP address (for instances that are in subnets in Wavelength Zones) with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[Subnets in Wavelength Zones] You can associate an IP address from the telecommunication carrier to the instance or network interface.

You cannot associate an Elastic IP address with an interface in a different network border group.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

" }, + "AssociateCapacityReservationBillingOwner":{ + "name":"AssociateCapacityReservationBillingOwner", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateCapacityReservationBillingOwnerRequest"}, + "output":{"shape":"AssociateCapacityReservationBillingOwnerResult"}, + "documentation":"

Initiates a request to assign billing of the unused capacity of a shared Capacity Reservation to a consumer account that is consolidated under the same Amazon Web Services organizations payer account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

" + }, "AssociateClientVpnTargetNetwork":{ "name":"AssociateClientVpnTargetNetwork", "http":{ @@ -251,7 +271,7 @@ }, "input":{"shape":"AssociateNatGatewayAddressRequest"}, "output":{"shape":"AssociateNatGatewayAddressResult"}, - "documentation":"

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

" + "documentation":"

Associates Elastic IP addresses (EIPs) and private IPv4 addresses with a public NAT gateway. For more information, see Work with NAT gateways in the Amazon VPC User Guide.

By default, you can associate up to 2 Elastic IP addresses per public NAT gateway. You can increase the limit by requesting a quota adjustment. For more information, see Elastic IP address quotas in the Amazon VPC User Guide.

When you associate an EIP or secondary EIPs with a public NAT gateway, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the EIP will fail to associate. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

" }, "AssociateRouteTable":{ "name":"AssociateRouteTable", @@ -658,7 +678,7 @@ }, "input":{"shape":"CreateDefaultSubnetRequest"}, "output":{"shape":"CreateDefaultSubnetResult"}, - "documentation":"

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Create a default subnet in the Amazon VPC User Guide.

" + "documentation":"

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Create a default subnet in the Amazon VPC User Guide.

" }, "CreateDefaultVpc":{ "name":"CreateDefaultVpc", @@ -708,7 +728,7 @@ }, "input":{"shape":"CreateFlowLogsRequest"}, "output":{"shape":"CreateFlowLogsResult"}, - "documentation":"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

" + "documentation":"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow log records in the Amazon VPC User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon VPC User Guide.

" }, "CreateFpgaImage":{ "name":"CreateFpgaImage", @@ -908,7 +928,7 @@ }, "input":{"shape":"CreateNatGatewayRequest"}, "output":{"shape":"CreateNatGatewayResult"}, - "documentation":"

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

" + "documentation":"

Creates a NAT gateway in the specified subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. You can create either a public NAT gateway or a private NAT gateway.

With a public NAT gateway, internet-bound traffic from a private subnet can be routed to the NAT gateway, so that instances in a private subnet can connect to the internet.

With a private NAT gateway, private communication is routed across VPCs and on-premises networks through a transit gateway or virtual private gateway. Common use cases include running large workloads behind a small pool of allowlisted IPv4 addresses, preserving private IPv4 addresses, and communicating between overlapping networks.

For more information, see NAT gateways in the Amazon VPC User Guide.

When you create a public NAT gateway and assign it an EIP or secondary EIPs, the network border group of the EIPs must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. If it's not the same, the NAT gateway will fail to launch. You can see the network border group for the subnet's AZ by viewing the details of the subnet. Similarly, you can view the network border group of an EIP by viewing the details of the EIP address. For more information about network border groups and EIPs, see Allocate an Elastic IP address in the Amazon VPC User Guide.

" }, "CreateNetworkAcl":{ "name":"CreateNetworkAcl", @@ -1107,7 +1127,7 @@ }, "input":{"shape":"CreateSubnetCidrReservationRequest"}, "output":{"shape":"CreateSubnetCidrReservationResult"}, - "documentation":"

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Manage prefixes for your network interfaces in the Amazon EC2 User Guide.

" + "documentation":"

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Assign prefixes to network interfaces in the Amazon EC2 User Guide.

" }, "CreateTags":{ "name":"CreateTags", @@ -2059,7 +2079,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteVpcRequest"}, - "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the default security group, network ACL, and route table for the VPC.

If you created a flow log for the VPC that you are deleting, note that flow logs for deleted VPCs are eventually automatically removed.

" + "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on. When you delete the VPC, it deletes the VPC's default security group, network ACL, and route table.

" }, "DeleteVpcEndpointConnectionNotifications":{ "name":"DeleteVpcEndpointConnectionNotifications", @@ -2307,6 +2327,16 @@ "output":{"shape":"DescribeCapacityBlockOfferingsResult"}, "documentation":"

Describes Capacity Block offerings available for purchase in the Amazon Web Services Region that you're currently using. With Capacity Blocks, you purchase a specific instance type for a period of time.

" }, + "DescribeCapacityReservationBillingRequests":{ + "name":"DescribeCapacityReservationBillingRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCapacityReservationBillingRequestsRequest"}, + "output":{"shape":"DescribeCapacityReservationBillingRequestsResult"}, + "documentation":"

Describes a request to assign the billing of the unused capacity of a Capacity Reservation. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

" + }, "DescribeCapacityReservationFleets":{ "name":"DescribeCapacityReservationFleets", "http":{ @@ -2455,7 +2485,7 @@ }, "input":{"shape":"DescribeElasticGpusRequest"}, "output":{"shape":"DescribeElasticGpusResult"}, - "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the Elastic Graphics accelerator associated with your instances.

" + "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the Elastic Graphics accelerator associated with your instances.

" }, "DescribeExportImageTasks":{ "name":"DescribeExportImageTasks", @@ -3952,6 +3982,16 @@ "input":{"shape":"DisassociateAddressRequest"}, "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" }, + "DisassociateCapacityReservationBillingOwner":{ + "name":"DisassociateCapacityReservationBillingOwner", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateCapacityReservationBillingOwnerRequest"}, + "output":{"shape":"DisassociateCapacityReservationBillingOwnerResult"}, + "documentation":"

Cancels a pending request to assign billing of the unused capacity of a Capacity Reservation to a consumer account, or revokes a request that has already been accepted. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

" + }, "DisassociateClientVpnTargetNetwork":{ "name":"DisassociateClientVpnTargetNetwork", "http":{ @@ -4020,7 +4060,7 @@ }, "input":{"shape":"DisassociateNatGatewayAddressRequest"}, "output":{"shape":"DisassociateNatGatewayAddressResult"}, - "documentation":"

Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. You cannot disassociate your primary EIP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While disassociating is in progress, you cannot associate/disassociate additional EIPs while the connections are being drained. You are, however, allowed to delete the NAT gateway.

An EIP is released only at the end of MaxDrainDurationSeconds. It stays associated and supports the existing connections but does not support any new connections (new connections are distributed across the remaining associated EIPs). As the existing connections drain out, the EIPs (and the corresponding private IP addresses mapped to them) are released.

" + "documentation":"

Disassociates secondary Elastic IP addresses (EIPs) from a public NAT gateway. You cannot disassociate your primary EIP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While disassociating is in progress, you cannot associate/disassociate additional EIPs while the connections are being drained. You are, however, allowed to delete the NAT gateway.

An EIP is released only at the end of MaxDrainDurationSeconds. It stays associated and supports the existing connections but does not support any new connections (new connections are distributed across the remaining associated EIPs). As the existing connections drain out, the EIPs (and the corresponding private IP addresses mapped to them) are released.

" }, "DisassociateRouteTable":{ "name":"DisassociateRouteTable", @@ -5043,7 +5083,7 @@ }, "input":{"shape":"ModifyInstanceCpuOptionsRequest"}, "output":{"shape":"ModifyInstanceCpuOptionsResult"}, - "documentation":"

By default, all vCPUs for the instance type are active when you launch an instance. When you configure the number of active vCPUs for the instance, it can help you save on licensing costs and optimize performance. The base cost of the instance remains unchanged.

The number of active vCPUs equals the number of threads per CPU core multiplied by the number of cores.

Some instance type options do not support this capability. For more information, see Supported CPU options in the Amazon EC2 User Guide.

" + "documentation":"

By default, all vCPUs for the instance type are active when you launch an instance. When you configure the number of active vCPUs for the instance, it can help you save on licensing costs and optimize performance. The base cost of the instance remains unchanged.

The number of active vCPUs equals the number of threads per CPU core multiplied by the number of cores. The instance must be in a Stopped state before you make changes.

Some instance type options do not support this capability. For more information, see Supported CPU options in the Amazon EC2 User Guide.

" }, "ModifyInstanceCreditSpecification":{ "name":"ModifyInstanceCreditSpecification", @@ -5709,6 +5749,16 @@ "output":{"shape":"RegisterTransitGatewayMulticastGroupSourcesResult"}, "documentation":"

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For more information about supported instances, see Multicast on transit gateways in the Amazon Web Services Transit Gateways Guide.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

" }, + "RejectCapacityReservationBillingOwnership":{ + "name":"RejectCapacityReservationBillingOwnership", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectCapacityReservationBillingOwnershipRequest"}, + "output":{"shape":"RejectCapacityReservationBillingOwnershipResult"}, + "documentation":"

Rejects a request to assign billing of the available capacity of a shared Capacity Reservation to your account. For more information, see Billing assignment for shared Amazon EC2 Capacity Reservations.

" + }, "RejectTransitGatewayMulticastDomainAssociations":{ "name":"RejectTransitGatewayMulticastDomainAssociations", "http":{ @@ -6187,7 +6237,7 @@ }, "input":{"shape":"UnassignPrivateNatGatewayAddressRequest"}, "output":{"shape":"UnassignPrivateNatGatewayAddressResult"}, - "documentation":"

Unassigns secondary private IPv4 addresses from a private NAT gateway. You cannot unassign your primary private IP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While unassigning is in progress, you cannot assign/unassign additional IP addresses while the connections are being drained. You are, however, allowed to delete the NAT gateway.

A private IP address will only be released at the end of MaxDrainDurationSeconds. The private IP addresses stay associated and support the existing connections, but do not support any new connections (new connections are distributed across the remaining assigned private IP address). After the existing connections drain out, the private IP addresses are released.

" + "documentation":"

Unassigns secondary private IPv4 addresses from a private NAT gateway. You cannot unassign your primary private IP. For more information, see Edit secondary IP address associations in the Amazon VPC User Guide.

While unassigning is in progress, you cannot assign/unassign additional IP addresses while the connections are being drained. You are, however, allowed to delete the NAT gateway.

A private IP address will only be released at the end of MaxDrainDurationSeconds. The private IP addresses stay associated and support the existing connections, but do not support any new connections (new connections are distributed across the remaining assigned private IP address). After the existing connections drain out, the private IP addresses are released.

" }, "UnlockSnapshot":{ "name":"UnlockSnapshot", @@ -6386,6 +6436,30 @@ } } }, + "AcceptCapacityReservationBillingOwnershipRequest":{ + "type":"structure", + "required":["CapacityReservationId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

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

The ID of the Capacity Reservation for which to accept the request.

" + } + } + }, + "AcceptCapacityReservationBillingOwnershipResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, "AcceptReservedInstancesExchangeQuoteRequest":{ "type":"structure", "required":["ReservedInstanceIds"], @@ -6697,6 +6771,12 @@ "locationName":"item" } }, + "AccountID":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]{12}" + }, "ActiveInstance":{ "type":"structure", "members":{ @@ -8052,6 +8132,37 @@ } } }, + "AssociateCapacityReservationBillingOwnerRequest":{ + "type":"structure", + "required":[ + "CapacityReservationId", + "UnusedReservationBillingOwnerId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

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

The ID of the Capacity Reservation.

" + }, + "UnusedReservationBillingOwnerId":{ + "shape":"AccountID", + "documentation":"

The ID of the consumer account to which assign billing.

" + } + } + }, + "AssociateCapacityReservationBillingOwnerResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, "AssociateClientVpnTargetNetworkRequest":{ "type":"structure", "required":[ @@ -9780,6 +9891,13 @@ "provisioned-not-publicly-advertisable" ] }, + "CallerRole":{ + "type":"string", + "enum":[ + "odcr-owner", + "unused-reservation-billing-owner" + ] + }, "CancelBatchErrorCode":{ "type":"string", "enum":[ @@ -10381,10 +10499,74 @@ "shape":"CapacityReservationType", "documentation":"

The type of Capacity Reservation.

", "locationName":"reservationType" + }, + "UnusedReservationBillingOwnerId":{ + "shape":"AccountID", + "documentation":"

The ID of the Amazon Web Services account to which billing of the unused capacity of the Capacity Reservation is assigned.

", + "locationName":"unusedReservationBillingOwnerId" } }, "documentation":"

Describes a Capacity Reservation.

" }, + "CapacityReservationBillingRequest":{ + "type":"structure", + "members":{ + "CapacityReservationId":{ + "shape":"String", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"capacityReservationId" + }, + "RequestedBy":{ + "shape":"String", + "documentation":"

The ID of the Amazon Web Services account that initiated the request.

", + "locationName":"requestedBy" + }, + "UnusedReservationBillingOwnerId":{ + "shape":"AccountID", + "documentation":"

The ID of the Amazon Web Services account to which the request was sent.

", + "locationName":"unusedReservationBillingOwnerId" + }, + "LastUpdateTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The date and time, in UTC time format, at which the request was initiated.

", + "locationName":"lastUpdateTime" + }, + "Status":{ + "shape":"CapacityReservationBillingRequestStatus", + "documentation":"

The status of the request. For more information, see View billing assignment requests for a shared Amazon EC2 Capacity Reservation.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

Information about the status.

", + "locationName":"statusMessage" + }, + "CapacityReservationInfo":{ + "shape":"CapacityReservationInfo", + "documentation":"

Information about the Capacity Reservation.

", + "locationName":"capacityReservationInfo" + } + }, + "documentation":"

Information about a request to assign billing of the unused capacity of a Capacity Reservation.

" + }, + "CapacityReservationBillingRequestSet":{ + "type":"list", + "member":{ + "shape":"CapacityReservationBillingRequest", + "locationName":"item" + } + }, + "CapacityReservationBillingRequestStatus":{ + "type":"string", + "enum":[ + "pending", + "accepted", + "rejected", + "cancelled", + "revoked", + "expired" + ] + }, "CapacityReservationFleet":{ "type":"structure", "members":{ @@ -10539,6 +10721,27 @@ "locationName":"item" } }, + "CapacityReservationInfo":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type for the Capacity Reservation.

", + "locationName":"instanceType" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneName", + "documentation":"

The Availability Zone for the Capacity Reservation.

", + "locationName":"availabilityZone" + }, + "Tenancy":{ + "shape":"CapacityReservationTenancy", + "documentation":"

The tenancy of the Capacity Reservation.

", + "locationName":"tenancy" + } + }, + "documentation":"

Information about a Capacity Reservation.

" + }, "CapacityReservationInstancePlatform":{ "type":"string", "enum":[ @@ -13032,7 +13235,7 @@ }, "LogFormat":{ "shape":"String", - "documentation":"

The fields to include in the flow log record. List the fields in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see Flow log records in the Amazon VPC User Guide or Transit Gateway Flow Log records in the Amazon Web Services Transit Gateway Guide.

Specify the fields using the ${field-id} format, separated by spaces.

" + "documentation":"

The fields to include in the flow log record. List the fields in the order in which they should appear. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must include at least one field. For more information about the available fields, see Flow log records in the Amazon VPC User Guide or Transit Gateway Flow Log records in the Amazon Web Services Transit Gateway Guide.

Specify the fields using the ${field-id} format, separated by spaces.

" }, "TagSpecifications":{ "shape":"TagSpecificationList", @@ -13936,17 +14139,17 @@ }, "SecondaryAllocationIds":{ "shape":"AllocationIdList", - "documentation":"

Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

", + "documentation":"

Secondary EIP allocation IDs. For more information, see Create a NAT gateway in the Amazon VPC User Guide.

", "locationName":"SecondaryAllocationId" }, "SecondaryPrivateIpAddresses":{ "shape":"IpList", - "documentation":"

Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

", + "documentation":"

Secondary private IPv4 addresses. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

", "locationName":"SecondaryPrivateIpAddress" }, "SecondaryPrivateIpAddressCount":{ "shape":"PrivateIpAddressCount", - "documentation":"

[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

" + "documentation":"

[Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see Create a NAT gateway in the Amazon VPC User Guide.

" } } }, @@ -15671,7 +15874,7 @@ }, "SecurityGroupReferencingSupport":{ "shape":"SecurityGroupReferencingSupportValue", - "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is enabled by default. However, security group referencing is disabled by default at the transit gateway level.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

" + "documentation":"

Enables you to reference a security group across VPCs attached to a transit gateway to simplify security group management.

This option is set to enable by default. However, at the transit gateway level the default is set to disable.

For more information about security group referencing, see Security group referencing in the Amazon Web Services Transit Gateways Guide.

" }, "Ipv6Support":{ "shape":"Ipv6SupportValue", @@ -19367,6 +19570,58 @@ } } }, + "DescribeCapacityReservationBillingRequestsRequest":{ + "type":"structure", + "required":["Role"], + "members":{ + "CapacityReservationIds":{ + "shape":"CapacityReservationIdSet", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"CapacityReservationId" + }, + "Role":{ + "shape":"CallerRole", + "documentation":"

Specify one of the following:

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

The token to use to retrieve the next page of results.

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

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

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

One or more filters.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeCapacityReservationBillingRequestsRequestMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DescribeCapacityReservationBillingRequestsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "CapacityReservationBillingRequests":{ + "shape":"CapacityReservationBillingRequestSet", + "documentation":"

Information about the request.

", + "locationName":"capacityReservationBillingRequestSet" + } + } + }, "DescribeCapacityReservationFleetsMaxResults":{ "type":"integer", "max":100, @@ -21439,7 +21694,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

The filters.

", + "documentation":"

The filters.

", "locationName":"Filter" }, "NextToken":{ @@ -26719,6 +26974,37 @@ } } }, + "DisassociateCapacityReservationBillingOwnerRequest":{ + "type":"structure", + "required":[ + "CapacityReservationId", + "UnusedReservationBillingOwnerId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

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

The ID of the Capacity Reservation.

" + }, + "UnusedReservationBillingOwnerId":{ + "shape":"AccountID", + "documentation":"

The ID of the consumer account to which the request was sent.

" + } + } + }, + "DisassociateCapacityReservationBillingOwnerResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, "DisassociateClientVpnTargetNetworkRequest":{ "type":"structure", "required":[ @@ -27811,7 +28097,7 @@ "locationName":"elasticGpuAssociationTime" } }, - "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the association between an instance and an Elastic Graphics accelerator.

" + "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the association between an instance and an Elastic Graphics accelerator.

" }, "ElasticGpuAssociationList":{ "type":"list", @@ -27829,7 +28115,7 @@ "locationName":"status" } }, - "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes the status of an Elastic Graphics accelerator.

" + "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes the status of an Elastic Graphics accelerator.

" }, "ElasticGpuId":{"type":"string"}, "ElasticGpuIdSet":{ @@ -27855,7 +28141,7 @@ "documentation":"

The type of Elastic Graphics accelerator.

" } }, - "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

A specification for an Elastic Graphics accelerator.

" + "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024.

A specification for an Elastic Graphics accelerator.

" }, "ElasticGpuSpecificationList":{ "type":"list", @@ -27869,11 +28155,11 @@ "members":{ "Type":{ "shape":"String", - "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

", + "documentation":"

The elastic GPU type.

", "locationName":"type" } }, - "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

" + "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes an elastic GPU.

" }, "ElasticGpuSpecificationResponseList":{ "type":"list", @@ -27939,7 +28225,7 @@ "locationName":"tagSet" } }, - "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4, G5, or G6 instances.

Describes an Elastic Graphics accelerator.

" + "documentation":"

Amazon Elastic Graphics reached end of life on January 8, 2024.

Describes an Elastic Graphics accelerator.

" }, "ElasticInferenceAccelerator":{ "type":"structure", @@ -27954,7 +28240,7 @@ "documentation":"

The number of elastic inference accelerators to attach to the instance.

Default: 1

" } }, - "documentation":"

Describes an elastic inference accelerator.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes an elastic inference accelerator.

" }, "ElasticInferenceAcceleratorAssociation":{ "type":"structure", @@ -27980,7 +28266,7 @@ "locationName":"elasticInferenceAcceleratorAssociationTime" } }, - "documentation":"

Describes the association between an instance and an elastic inference accelerator.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes the association between an instance and an elastic inference accelerator.

" }, "ElasticInferenceAcceleratorAssociationList":{ "type":"list", @@ -34533,7 +34819,7 @@ "locationName":"totalInferenceMemoryInMiB" } }, - "documentation":"

Describes the Inference accelerators for the instance type.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes the Inference accelerators for the instance type.

" }, "InferenceDeviceCount":{"type":"integer"}, "InferenceDeviceInfo":{ @@ -34560,7 +34846,7 @@ "locationName":"memoryInfo" } }, - "documentation":"

Describes the Inference accelerators for the instance type.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes the Inference accelerators for the instance type.

" }, "InferenceDeviceInfoList":{ "type":"list", @@ -34577,7 +34863,7 @@ "locationName":"sizeInMiB" } }, - "documentation":"

Describes the memory available to the inference accelerator.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes the memory available to the inference accelerator.

" }, "InferenceDeviceMemorySize":{"type":"integer"}, "InferenceDeviceName":{"type":"string"}, @@ -34633,12 +34919,12 @@ }, "ElasticGpuAssociations":{ "shape":"ElasticGpuAssociationList", - "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

", + "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024.

", "locationName":"elasticGpuAssociationSet" }, "ElasticInferenceAcceleratorAssociations":{ "shape":"ElasticInferenceAcceleratorAssociationList", - "documentation":"

The elastic inference accelerator associated with the instance.

", + "documentation":"

Deprecated

Amazon Elastic Inference is no longer available.

", "locationName":"elasticInferenceAcceleratorAssociationSet" }, "NetworkInterfaces":{ @@ -36181,7 +36467,7 @@ }, "AcceleratorTypes":{ "shape":"AcceleratorTypeSet", - "documentation":"

The accelerator types that must be on the instance type.

Default: Any accelerator type

", + "documentation":"

The accelerator types that must be on the instance type.

Default: Any accelerator type

", "locationName":"acceleratorTypeSet" }, "AcceleratorCount":{ @@ -36299,7 +36585,7 @@ }, "AcceleratorTypes":{ "shape":"AcceleratorTypeSet", - "documentation":"

The accelerator types that must be on the instance type.

Default: Any accelerator type

", + "documentation":"

The accelerator types that must be on the instance type.

Default: Any accelerator type

", "locationName":"AcceleratorType" }, "AcceleratorCount":{ @@ -40253,7 +40539,7 @@ "documentation":"

The number of elastic inference accelerators to attach to the instance.

Default: 1

" } }, - "documentation":"

Describes an elastic inference accelerator.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes an elastic inference accelerator.

" }, "LaunchTemplateElasticInferenceAcceleratorCount":{ "type":"integer", @@ -40280,7 +40566,7 @@ "locationName":"count" } }, - "documentation":"

Describes an elastic inference accelerator.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes an elastic inference accelerator.

" }, "LaunchTemplateElasticInferenceAcceleratorResponseList":{ "type":"list", @@ -43999,7 +44285,7 @@ }, "EnableDns64":{ "shape":"AttributeBooleanValue", - "documentation":"

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.

You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a 0.0.0.0/0 route pointing to the internet gateway. For more information, see Configure DNS64 and NAT64 in the Amazon VPC User Guide.

" + "documentation":"

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.

You must first configure a NAT gateway in a public subnet (separate from the subnet containing the IPv6-only workloads). For example, the subnet containing the NAT gateway should have a 0.0.0.0/0 route pointing to the internet gateway. For more information, see Configure DNS64 and NAT64 in the Amazon VPC User Guide.

" }, "PrivateDnsHostnameTypeOnLaunch":{ "shape":"HostnameType", @@ -49472,6 +49758,30 @@ } } }, + "RejectCapacityReservationBillingOwnershipRequest":{ + "type":"structure", + "required":["CapacityReservationId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

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

The ID of the Capacity Reservation for which to reject the request.

" + } + } + }, + "RejectCapacityReservationBillingOwnershipResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, "RejectTransitGatewayMulticastDomainAssociationsRequest":{ "type":"structure", "members":{ @@ -50326,12 +50636,12 @@ }, "ElasticGpuSpecifications":{ "shape":"ElasticGpuSpecificationList", - "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

", + "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024.

", "locationName":"ElasticGpuSpecification" }, "ElasticInferenceAccelerators":{ "shape":"LaunchTemplateElasticInferenceAcceleratorList", - "documentation":"

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

", + "documentation":"

Deprecated.

Amazon Elastic Inference is no longer available.

", "locationName":"ElasticInferenceAccelerator" }, "SecurityGroupIds":{ @@ -51607,12 +51917,12 @@ }, "ElasticGpuSpecifications":{ "shape":"ElasticGpuSpecificationResponseList", - "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.

", + "documentation":"

Deprecated.

Amazon Elastic Graphics reached end of life on January 8, 2024.

", "locationName":"elasticGpuSpecificationSet" }, "ElasticInferenceAccelerators":{ "shape":"LaunchTemplateElasticInferenceAcceleratorResponseList", - "documentation":"

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

", + "documentation":"

Deprecated.

Amazon Elastic Inference is no longer available.

", "locationName":"elasticInferenceAcceleratorSet" }, "SecurityGroupIds":{ @@ -52511,7 +52821,7 @@ }, "ElasticInferenceAccelerators":{ "shape":"ElasticInferenceAccelerators", - "documentation":"

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference (EI) is no longer available to new customers. For more information, see Amazon Elastic Inference FAQs.

", + "documentation":"

An elastic inference accelerator to associate with the instance.

Amazon Elastic Inference is no longer available.

", "locationName":"ElasticInferenceAccelerator" }, "TagSpecifications":{ diff --git a/botocore/data/ecs/2014-11-13/service-2.json b/botocore/data/ecs/2014-11-13/service-2.json index f1a5b1a74a..2ba4cb803e 100644 --- a/botocore/data/ecs/2014-11-13/service-2.json +++ b/botocore/data/ecs/2014-11-13/service-2.json @@ -67,7 +67,7 @@ {"shape":"AccessDeniedException"}, {"shape":"NamespaceNotFoundException"} ], - "documentation":"

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Runs and maintains your desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, use UpdateService.

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

Amazon Elastic Inference (EI) is no longer available to customers.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. volumeConfigurations is only supported for REPLICA service and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

Tasks for services that don't use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they're in the RUNNING state and are reported as healthy by the load balancer.

There are two service scheduler strategies available:

You can optionally specify a deployment configuration for your service. The deployment is initiated by changing properties. For example, the deployment might be initiated by the task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service uses the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment. Specifically, it represents it as a percentage of your desired number of tasks (rounded up to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can deploy without using additional cluster capacity. For example, if you set your service to have desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. If they're in the RUNNING state, tasks for services that don't use a load balancer are considered healthy . If they're in the RUNNING state and reported as healthy by the load balancer, tasks for services that do use a load balancer are considered healthy . The default value for minimum healthy percent is 100%.

If a service uses the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment. Specifically, it represents it as a percentage of the desired number of tasks (rounded down to the nearest integer). This happens when any of your container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Using this parameter, you can define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service uses either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state. This is while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used. This is the case even if they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement. For information about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service Developer Guide

" }, "CreateTaskSet":{ "name":"CreateTaskSet", @@ -675,7 +675,7 @@ {"shape":"BlockedException"}, {"shape":"ConflictException"} ], - "documentation":"

Starts a new task using the specified task definition.

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

" + "documentation":"

Starts a new task using the specified task definition.

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

Amazon Elastic Inference (EI) is no longer available to customers.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

The Amazon ECS API follows an eventual consistency model. This is because of the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

" }, "StartTask":{ "name":"StartTask", @@ -692,7 +692,7 @@ {"shape":"ClusterNotFoundException"}, {"shape":"UnsupportedFeatureException"} ], - "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances.

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

Alternatively, you can useRunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

" + "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances.

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

Amazon Elastic Inference (EI) is no longer available to customers.

Alternatively, you can useRunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or updating a service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

" }, "StopTask":{ "name":"StopTask", @@ -1232,7 +1232,7 @@ "documentation":"

The base value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0 is used.

" } }, - "documentation":"

The details of a capacity provider strategy. A capacity provider strategy can be set when using the RunTaskor CreateCluster APIs or as the default capacity provider strategy for a cluster with the CreateCluster API.

Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateClusterCapacityProvider API operation.

To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.

With FARGATE_SPOT, you can run interruption tolerant tasks at a rate that's discounted compared to the FARGATE price. FARGATE_SPOT runs tasks on spare compute capacity. When Amazon Web Services needs the capacity back, your tasks are interrupted with a two-minute warning. FARGATE_SPOT only supports Linux tasks with the X86_64 architecture on platform version 1.3.0 or later.

A capacity provider strategy may contain a maximum of 6 capacity providers.

" + "documentation":"

The details of a capacity provider strategy. A capacity provider strategy can be set when using the RunTaskor CreateCluster APIs or as the default capacity provider strategy for a cluster with the CreateCluster API.

Only capacity providers that are already associated with a cluster and have an ACTIVE or UPDATING status can be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the CreateClusterCapacityProvider API operation.

To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.

With FARGATE_SPOT, you can run interruption tolerant tasks at a rate that's discounted compared to the FARGATE price. FARGATE_SPOT runs tasks on spare compute capacity. When Amazon Web Services needs the capacity back, your tasks are interrupted with a two-minute warning. FARGATE_SPOT supports Linux tasks with the X86_64 architecture on platform version 1.3.0 or later. FARGATE_SPOT supports Linux tasks with the ARM64 architecture on platform version 1.4.0 or later.

A capacity provider strategy may contain a maximum of 6 capacity providers.

" }, "CapacityProviderStrategyItemBase":{ "type":"integer", @@ -3965,7 +3965,7 @@ }, "options":{ "shape":"LogConfigurationOptionsMap", - "documentation":"

The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

" + "documentation":"

The configuration options to send to the log driver.

The options you can specify depend on the log driver. Some of the options you can specify when you use the awslogs log driver to route logs to Amazon CloudWatch include the following:

awslogs-create-group

Required: No

Specify whether you want the log group to be created automatically. If this option isn't specified, it defaults to false.

Your IAM policy must include the logs:CreateLogGroup permission before you attempt to use awslogs-create-group.

awslogs-region

Required: Yes

Specify the Amazon Web Services Region that the awslogs log driver is to send your Docker logs to. You can choose to send all of your logs from clusters in different Regions to a single region in CloudWatch Logs. This is so that they're all visible in one location. Otherwise, you can separate them by Region for more granularity. Make sure that the specified log group exists in the Region that you specify with this option.

awslogs-group

Required: Yes

Make sure to specify a log group that the awslogs log driver sends its log streams to.

awslogs-stream-prefix

Required: Yes, when using the Fargate launch type.Optional for the EC2 launch type, required for the Fargate launch type.

Use the awslogs-stream-prefix option to associate a log stream with the specified prefix, the container name, and the ID of the Amazon ECS task that the container belongs to. If you specify a prefix with this option, then the log stream takes the format prefix-name/container-name/ecs-task-id.

If you don't specify a prefix with this option, then the log stream is named after the container ID that's assigned by the Docker daemon on the container instance. Because it's difficult to trace logs back to the container that sent them with just the Docker container ID (which is only available on the container instance), we recommend that you specify a prefix with this option.

For Amazon ECS services, you can use the service name as the prefix. Doing so, you can trace log streams to the service that the container belongs to, the name of the container that sent them, and the ID of the task that the container belongs to.

You must specify a stream-prefix for your logs to have your logs appear in the Log pane when using the Amazon ECS console.

awslogs-datetime-format

Required: No

This option defines a multiline start pattern in Python strftime format. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages.

One example of a use case for using this format is for parsing output such as a stack dump, which might otherwise be logged in multiple entries. The correct pattern allows it to be captured in a single entry.

For more information, see awslogs-datetime-format.

You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options.

Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.

awslogs-multiline-pattern

Required: No

This option defines a multiline start pattern that uses a regular expression. A log message consists of a line that matches the pattern and any following lines that don’t match the pattern. The matched line is the delimiter between log messages.

For more information, see awslogs-multiline-pattern.

This option is ignored if awslogs-datetime-format is also configured.

You cannot configure both the awslogs-datetime-format and awslogs-multiline-pattern options.

Multiline logging performs regular expression parsing and matching of all log messages. This might have a negative impact on logging performance.

mode

Required: No

Valid values: non-blocking | blocking

This option defines the delivery mode of log messages from the container to CloudWatch Logs. The delivery mode you choose affects application availability when the flow of logs from container to CloudWatch is interrupted.

If you use the blocking mode and the flow of logs to CloudWatch is interrupted, calls from container code to write to the stdout and stderr streams will block. The logging thread of the application will block as a result. This may cause the application to become unresponsive and lead to container healthcheck failure.

If you use the non-blocking mode, the container's logs are instead stored in an in-memory intermediate buffer configured with the max-buffer-size option. This prevents the application from becoming unresponsive when logs cannot be sent to CloudWatch. We recommend using this mode if you want to ensure service availability and are okay with some log loss. For more information, see Preventing log loss with non-blocking mode in the awslogs container log driver.

max-buffer-size

Required: No

Default value: 1m

When non-blocking mode is used, the max-buffer-size log option controls the size of the buffer that's used for intermediate message storage. Make sure to specify an adequate buffer size based on your application. When the buffer fills up, further logs cannot be stored. Logs that cannot be stored are lost.

To route logs using the splunk log router, you need to specify a splunk-token and a splunk-url.

When you use the awsfirelens log router to route logs to an Amazon Web Services Service or Amazon Web Services Partner Network destination for log storage and analytics, you can set the log-driver-buffer-limit option to limit the number of events that are buffered in memory, before being sent to the log router container. It can help to resolve potential log loss issue because high throughput might result in memory running out for the buffer inside of Docker.

Other options you can specify when using awsfirelens to route logs depend on the destination. When you export logs to Amazon Data Firehose, you can specify the Amazon Web Services Region with region and a name for the log stream with delivery_stream.

When you export logs to Amazon Kinesis Data Streams, you can specify an Amazon Web Services Region with region and a data stream name with stream.

When you export logs to Amazon OpenSearch Service, you can specify options like Name, Host (OpenSearch Service endpoint without protocol), Port, Index, Type, Aws_auth, Aws_region, Suppress_Type_Name, and tls.

When you export logs to Amazon S3, you can specify the bucket using the bucket option. You can also specify region, total_file_size, upload_timeout, and use_put_object as options.

This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

" }, "secretOptions":{ "shape":"SecretList", diff --git a/botocore/data/elastic-inference/2017-07-25/endpoint-rule-set-1.json b/botocore/data/elastic-inference/2017-07-25/endpoint-rule-set-1.json index 8d0a9e4933..8f745963d0 100644 --- a/botocore/data/elastic-inference/2017-07-25/endpoint-rule-set-1.json +++ b/botocore/data/elastic-inference/2017-07-25/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/botocore/data/elastic-inference/2017-07-25/service-2.json b/botocore/data/elastic-inference/2017-07-25/service-2.json index d17648b02b..dd6c45fbb9 100644 --- a/botocore/data/elastic-inference/2017-07-25/service-2.json +++ b/botocore/data/elastic-inference/2017-07-25/service-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"api.elastic-inference", "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"Amazon Elastic Inference", "serviceFullName":"Amazon Elastic Inference", "serviceId":"Elastic Inference", "signatureVersion":"v4", "signingName":"elastic-inference", - "uid":"elastic-inference-2017-07-25" + "uid":"elastic-inference-2017-07-25", + "auth":["aws.auth#sigv4"] }, "operations":{ "DescribeAcceleratorOfferings":{ @@ -26,7 +28,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

Describes the locations in which a given accelerator type or set of types is present in a given region.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes the locations in which a given accelerator type or set of types is present in a given region.

" }, "DescribeAcceleratorTypes":{ "name":"DescribeAcceleratorTypes", @@ -39,7 +41,7 @@ "errors":[ {"shape":"InternalServerException"} ], - "documentation":"

Describes the accelerator types available in a given region, as well as their characteristics, such as memory and throughput.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes the accelerator types available in a given region, as well as their characteristics, such as memory and throughput.

" }, "DescribeAccelerators":{ "name":"DescribeAccelerators", @@ -54,7 +56,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

Describes information over a provided set of accelerators belonging to an account.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Describes information over a provided set of accelerators belonging to an account.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -69,7 +71,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

Returns all tags of an Elastic Inference Accelerator.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Returns all tags of an Elastic Inference Accelerator.

" }, "TagResource":{ "name":"TagResource", @@ -84,7 +86,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

Adds the specified tags to an Elastic Inference Accelerator.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Adds the specified tags to an Elastic Inference Accelerator.

" }, "UntagResource":{ "name":"UntagResource", @@ -99,7 +101,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"} ], - "documentation":"

Removes the specified tags from an Elastic Inference Accelerator.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Removes the specified tags from an Elastic Inference Accelerator.

" } }, "shapes":{ @@ -531,5 +533,5 @@ "min":0 } }, - "documentation":"

Elastic Inference public APIs.

February 15, 2023: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

" + "documentation":"

Amazon Elastic Inference is no longer available.

Elastic Inference public APIs.

" } diff --git a/botocore/data/iotfleetwise/2021-06-17/service-2.json b/botocore/data/iotfleetwise/2021-06-17/service-2.json index 655b9f2727..c90f235b97 100644 --- a/botocore/data/iotfleetwise/2021-06-17/service-2.json +++ b/botocore/data/iotfleetwise/2021-06-17/service-2.json @@ -1015,7 +1015,8 @@ "AmazonResourceName":{ "type":"string", "max":1011, - "min":1 + "min":1, + "pattern":"arn:.*" }, "AssociateVehicleFleetRequest":{ "type":"structure", @@ -1181,7 +1182,7 @@ ], "members":{ "arn":{ - "shape":"arn", + "shape":"campaignArn", "documentation":"

The Amazon Resource Name (ARN) of a campaign.

" }, "name":{ @@ -1451,7 +1452,9 @@ }, "priority":{ "shape":"priority", - "documentation":"

(Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, 0 is used.

Default: 0

" + "documentation":"

(Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, 0 is used.

Default: 0

", + "deprecated":true, + "deprecatedMessage":"priority is no longer used or needed as input" }, "signalsToCollect":{ "shape":"SignalInformationList", @@ -1483,7 +1486,7 @@ "documentation":"

The name of the created campaign.

" }, "arn":{ - "shape":"arn", + "shape":"campaignArn", "documentation":"

The ARN of the created campaign.

" } } @@ -1874,7 +1877,8 @@ "type":"list", "member":{"shape":"NodePath"}, "max":5, - "min":0 + "min":0, + "sensitive":true }, "DataFormat":{ "type":"string", @@ -1959,7 +1963,7 @@ "documentation":"

The name of the deleted campaign.

" }, "arn":{ - "shape":"arn", + "shape":"campaignArn", "documentation":"

The Amazon Resource Name (ARN) of the deleted campaign.

The ARN isn’t returned if a campaign doesn’t exist.

" } } @@ -2215,7 +2219,7 @@ "documentation":"

The name of the campaign.

" }, "arn":{ - "shape":"arn", + "shape":"campaignArn", "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" }, "description":{ @@ -2905,7 +2909,7 @@ "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" }, "status":{ - "shape":"status", + "shape":"statusStr", "documentation":"

Optional parameter to filter the results by the status of each created campaign in your account. The status can be one of: CREATING, WAITING_FOR_APPROVAL, RUNNING, or SUSPENDED.

" } } @@ -4072,7 +4076,8 @@ "type":"list", "member":{"shape":"SignalInformation"}, "max":1000, - "min":0 + "min":0, + "sensitive":true }, "SignalNodeType":{ "type":"string", @@ -4439,7 +4444,7 @@ "type":"structure", "members":{ "arn":{ - "shape":"arn", + "shape":"campaignArn", "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" }, "name":{ @@ -4825,7 +4830,7 @@ "type":"structure", "members":{ "campaignName":{ - "shape":"string", + "shape":"campaignName", "documentation":"

The name of a campaign.

" }, "vehicleName":{ @@ -4910,6 +4915,10 @@ "key":{"shape":"attributeName"}, "value":{"shape":"attributeValue"} }, + "campaignArn":{ + "type":"string", + "pattern":"arn:aws:iotfleetwise:[a-z0-9-]+:[0-9]{12}:campaign/[a-zA-Z\\d\\-_:]{1,100}" + }, "campaignName":{ "type":"string", "max":100, @@ -4923,7 +4932,7 @@ "collectionPeriodMs":{ "type":"long", "box":true, - "max":60000, + "max":86400000, "min":10000 }, "createVehicleErrors":{ @@ -4958,7 +4967,8 @@ "eventExpression":{ "type":"string", "max":2048, - "min":1 + "min":1, + "sensitive":true }, "fleetId":{ "type":"string", @@ -4977,6 +4987,7 @@ "languageVersion":{ "type":"integer", "box":true, + "max":1, "min":1 }, "listOfStrings":{ @@ -5041,7 +5052,12 @@ "type":"list", "member":{"shape":"SignalCatalogSummary"} }, - "status":{"type":"string"}, + "statusStr":{ + "type":"string", + "max":20, + "min":7, + "pattern":"[A-Z_]*" + }, "string":{"type":"string"}, "timestamp":{"type":"timestamp"}, "uint32":{ diff --git a/botocore/data/neptune-graph/2023-11-29/service-2.json b/botocore/data/neptune-graph/2023-11-29/service-2.json index a6d97e651c..41308a4428 100644 --- a/botocore/data/neptune-graph/2023-11-29/service-2.json +++ b/botocore/data/neptune-graph/2023-11-29/service-2.json @@ -964,7 +964,7 @@ }, "format":{ "shape":"Format", - "documentation":"

Specifies the format of S3 data to be imported. Valid values are CSV, which identifies the Gremlin CSV format or OPENCYPHER, which identies the openCypher load format.

" + "documentation":"

Specifies the format of S3 data to be imported. Valid values are CSV, which identifies the Gremlin CSV format, OPEN_CYPHER, which identifies the openCypher load format, or ntriples, which identifies the RDF n-triples format.

" }, "blankNodeHandling":{ "shape":"BlankNodeHandling", @@ -2352,7 +2352,7 @@ "type":"integer", "box":true, "max":24576, - "min":32 + "min":16 }, "QueryLanguage":{ "type":"string", diff --git a/botocore/data/outposts/2019-12-03/service-2.json b/botocore/data/outposts/2019-12-03/service-2.json index 185ac60df2..522bc7f6a2 100644 --- a/botocore/data/outposts/2019-12-03/service-2.json +++ b/botocore/data/outposts/2019-12-03/service-2.json @@ -2014,7 +2014,7 @@ }, "Status":{ "shape":"OrderStatus", - "documentation":"

The status of the order.

The following status are deprecated: RECEIVED, PENDING, PROCESSING, INSTALLING, and FULFILLED.

" + "documentation":"

The status of the order.

The following status are deprecated: RECEIVED, PENDING, PROCESSING, INSTALLING, and FULFILLED.

" }, "LineItems":{ "shape":"LineItemListDefinition", @@ -2060,6 +2060,7 @@ "CANCELLED", "PREPARING", "IN_PROGRESS", + "DELIVERED", "COMPLETED", "ERROR" ] diff --git a/botocore/data/route53resolver/2018-04-01/service-2.json b/botocore/data/route53resolver/2018-04-01/service-2.json index 1b6a916072..e4d47aba3f 100644 --- a/botocore/data/route53resolver/2018-04-01/service-2.json +++ b/botocore/data/route53resolver/2018-04-01/service-2.json @@ -1685,7 +1685,7 @@ }, "DestinationArn":{ "shape":"DestinationArn", - "documentation":"

The ARN of the resource that you want Resolver to send query logs. You can send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream. Examples of valid values include the following:

" + "documentation":"

The ARN of the resource that you want Resolver to send query logs. You can send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream. Examples of valid values include the following:

" }, "CreatorRequestId":{ "shape":"CreatorRequestId", @@ -4263,6 +4263,11 @@ "type":"list", "member":{"shape":"ResourceId"} }, + "ServerNameIndication":{ + "type":"string", + "max":255, + "min":0 + }, "ServicePrinciple":{ "type":"string", "max":512, @@ -4388,6 +4393,11 @@ "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:

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

The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the TargetAddress is DoH.

", + "box":true } }, "documentation":"

In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

" @@ -4596,7 +4606,7 @@ }, "Qtype":{ "shape":"Qtype", - "documentation":"

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

" + "documentation":"

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

" } } }, diff --git a/botocore/data/socialmessaging/2024-01-01/endpoint-rule-set-1.json b/botocore/data/socialmessaging/2024-01-01/endpoint-rule-set-1.json new file mode 100644 index 0000000000..7b20695256 --- /dev/null +++ b/botocore/data/socialmessaging/2024-01-01/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://social-messaging-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://social-messaging-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://social-messaging.{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://social-messaging.{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/socialmessaging/2024-01-01/paginators-1.json b/botocore/data/socialmessaging/2024-01-01/paginators-1.json new file mode 100644 index 0000000000..4031a2aa8e --- /dev/null +++ b/botocore/data/socialmessaging/2024-01-01/paginators-1.json @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListLinkedWhatsAppBusinessAccounts": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "linkedAccounts" + } + } +} diff --git a/botocore/data/socialmessaging/2024-01-01/service-2.json b/botocore/data/socialmessaging/2024-01-01/service-2.json new file mode 100644 index 0000000000..a178e9aee7 --- /dev/null +++ b/botocore/data/socialmessaging/2024-01-01/service-2.json @@ -0,0 +1,1272 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2024-01-01", + "auth":["aws.auth#sigv4"], + "endpointPrefix":"social-messaging", + "protocol":"rest-json", + "protocols":["rest-json"], + "serviceFullName":"AWS End User Messaging Social", + "serviceId":"SocialMessaging", + "signatureVersion":"v4", + "signingName":"social-messaging", + "uid":"socialmessaging-2024-01-01" + }, + "operations":{ + "AssociateWhatsAppBusinessAccount":{ + "name":"AssociateWhatsAppBusinessAccount", + "http":{ + "method":"POST", + "requestUri":"/v1/whatsapp/signup", + "responseCode":200 + }, + "input":{"shape":"AssociateWhatsAppBusinessAccountInput"}, + "output":{"shape":"AssociateWhatsAppBusinessAccountOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"DependencyException"} + ], + "documentation":"

This is only used through the Amazon Web Services console during sign-up to associate your WhatsApp Business Account to your Amazon Web Services account.

" + }, + "DeleteWhatsAppMessageMedia":{ + "name":"DeleteWhatsAppMessageMedia", + "http":{ + "method":"DELETE", + "requestUri":"/v1/whatsapp/media", + "responseCode":200 + }, + "input":{"shape":"DeleteWhatsAppMessageMediaInput"}, + "output":{"shape":"DeleteWhatsAppMessageMediaOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"AccessDeniedByMetaException"}, + {"shape":"InternalServiceException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Delete a media object from the WhatsApp service. If the object is still in an Amazon S3 bucket you should delete it from there too.

", + "idempotent":true + }, + "DisassociateWhatsAppBusinessAccount":{ + "name":"DisassociateWhatsAppBusinessAccount", + "http":{ + "method":"DELETE", + "requestUri":"/v1/whatsapp/waba/disassociate", + "responseCode":200 + }, + "input":{"shape":"DisassociateWhatsAppBusinessAccountInput"}, + "output":{"shape":"DisassociateWhatsAppBusinessAccountOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Disassociate a WhatsApp Business Account (WABA) from your Amazon Web Services account.

", + "idempotent":true + }, + "GetLinkedWhatsAppBusinessAccount":{ + "name":"GetLinkedWhatsAppBusinessAccount", + "http":{ + "method":"GET", + "requestUri":"/v1/whatsapp/waba/details", + "responseCode":200 + }, + "input":{"shape":"GetLinkedWhatsAppBusinessAccountInput"}, + "output":{"shape":"GetLinkedWhatsAppBusinessAccountOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Get the details of your linked WhatsApp Business Account.

" + }, + "GetLinkedWhatsAppBusinessAccountPhoneNumber":{ + "name":"GetLinkedWhatsAppBusinessAccountPhoneNumber", + "http":{ + "method":"GET", + "requestUri":"/v1/whatsapp/waba/phone/details", + "responseCode":200 + }, + "input":{"shape":"GetLinkedWhatsAppBusinessAccountPhoneNumberInput"}, + "output":{"shape":"GetLinkedWhatsAppBusinessAccountPhoneNumberOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Use your WhatsApp phone number id to get the WABA account id and phone number details.

" + }, + "GetWhatsAppMessageMedia":{ + "name":"GetWhatsAppMessageMedia", + "http":{ + "method":"POST", + "requestUri":"/v1/whatsapp/media/get", + "responseCode":200 + }, + "input":{"shape":"GetWhatsAppMessageMediaInput"}, + "output":{"shape":"GetWhatsAppMessageMediaOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"AccessDeniedByMetaException"}, + {"shape":"InternalServiceException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Get a media file from the WhatsApp service. On successful completion the media file is retrieved from Meta and stored in the specified Amazon S3 bucket. Use either destinationS3File or destinationS3PresignedUrl for the destination. If both are used then an InvalidParameterException is returned.

" + }, + "ListLinkedWhatsAppBusinessAccounts":{ + "name":"ListLinkedWhatsAppBusinessAccounts", + "http":{ + "method":"GET", + "requestUri":"/v1/whatsapp/waba/list", + "responseCode":200 + }, + "input":{"shape":"ListLinkedWhatsAppBusinessAccountsInput"}, + "output":{"shape":"ListLinkedWhatsAppBusinessAccountsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

List all WhatsApp Business Accounts linked to your Amazon Web Services account.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/tags/list", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

List all tags associated with a resource, such as a phone number or WABA.

" + }, + "PostWhatsAppMessageMedia":{ + "name":"PostWhatsAppMessageMedia", + "http":{ + "method":"POST", + "requestUri":"/v1/whatsapp/media", + "responseCode":200 + }, + "input":{"shape":"PostWhatsAppMessageMediaInput"}, + "output":{"shape":"PostWhatsAppMessageMediaOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"AccessDeniedByMetaException"}, + {"shape":"InternalServiceException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Upload a media file to the WhatsApp service. Only the specified originationPhoneNumberId has the permissions to send the media file when using SendWhatsAppMessage. You must use either sourceS3File or sourceS3PresignedUrl for the source. If both or neither are specified then an InvalidParameterException is returned.

" + }, + "PutWhatsAppBusinessAccountEventDestinations":{ + "name":"PutWhatsAppBusinessAccountEventDestinations", + "http":{ + "method":"PUT", + "requestUri":"/v1/whatsapp/waba/eventdestinations", + "responseCode":200 + }, + "input":{"shape":"PutWhatsAppBusinessAccountEventDestinationsInput"}, + "output":{"shape":"PutWhatsAppBusinessAccountEventDestinationsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Add an event destination to log event data from WhatsApp for a WhatsApp Business Account (WABA). A WABA can only have one event destination at a time. All resources associated with the WABA use the same event destination.

", + "idempotent":true + }, + "SendWhatsAppMessage":{ + "name":"SendWhatsAppMessage", + "http":{ + "method":"POST", + "requestUri":"/v1/whatsapp/send", + "responseCode":200 + }, + "input":{"shape":"SendWhatsAppMessageInput"}, + "output":{"shape":"SendWhatsAppMessageOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"DependencyException"} + ], + "documentation":"

Send a WhatsApp message. For examples of sending a message using the Amazon Web Services CLI, see Sending messages in the Amazon Web Services End User Messaging Social User Guide .

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/tags/tag-resource", + "responseCode":200 + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Adds or overwrites only the specified tags for the specified resource. When you specify an existing tag key, the value is overwritten with the new value.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/tags/untag-resource", + "responseCode":200 + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ThrottledRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Removes the specified tags from a resource.

" + } + }, + "shapes":{ + "AccessDeniedByMetaException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Arn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:.*" + }, + "AssociateInProgressToken":{ + "type":"string", + "max":50, + "min":0, + "sensitive":true + }, + "AssociateWhatsAppBusinessAccountInput":{ + "type":"structure", + "members":{ + "signupCallback":{ + "shape":"WhatsAppSignupCallback", + "documentation":"

Contains the callback access token.

" + }, + "setupFinalization":{ + "shape":"WhatsAppSetupFinalization", + "documentation":"

A JSON object that contains the phone numbers and WhatsApp Business Account to link to your account.

" + } + } + }, + "AssociateWhatsAppBusinessAccountOutput":{ + "type":"structure", + "members":{ + "signupCallbackResult":{ + "shape":"WhatsAppSignupCallbackResult", + "documentation":"

Contains your WhatsApp registration status.

" + }, + "statusCode":{ + "shape":"Integer", + "documentation":"

The status code for the response.

" + } + } + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "DeleteWhatsAppMessageMediaInput":{ + "type":"structure", + "required":[ + "mediaId", + "originationPhoneNumberId" + ], + "members":{ + "mediaId":{ + "shape":"WhatsAppMediaId", + "documentation":"

The unique identifier of the media file to delete. Use the mediaId returned from PostWhatsAppMessageMedia.

", + "location":"querystring", + "locationName":"mediaId" + }, + "originationPhoneNumberId":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The unique identifier of the originating phone number associated with the media. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

", + "location":"querystring", + "locationName":"originationPhoneNumberId" + } + } + }, + "DeleteWhatsAppMessageMediaOutput":{ + "type":"structure", + "members":{ + "success":{ + "shape":"Boolean", + "documentation":"

Success indicator for deleting the media file.

" + } + } + }, + "DependencyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Thrown when performing an action because a dependency would be broken.

", + "error":{"httpStatusCode":502}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "DisassociateWhatsAppBusinessAccountInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

The unique identifier of your WhatsApp Business Account. WABA identifiers are formatted as waba-01234567890123456789012345678901. Use ListLinkedWhatsAppBusinessAccounts to list all WABAs and their details.

", + "location":"querystring", + "locationName":"id" + } + } + }, + "DisassociateWhatsAppBusinessAccountOutput":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{"type":"string"}, + "EventDestinationArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:.*:[a-z-]+([/:](.*))?" + }, + "GetLinkedWhatsAppBusinessAccountInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

The unique identifier, from Amazon Web Services, of the linked WhatsApp Business Account. WABA identifiers are formatted as waba-01234567890123456789012345678901. Use ListLinkedWhatsAppBusinessAccounts to list all WABAs and their details.

", + "location":"querystring", + "locationName":"id" + } + } + }, + "GetLinkedWhatsAppBusinessAccountOutput":{ + "type":"structure", + "members":{ + "account":{ + "shape":"LinkedWhatsAppBusinessAccount", + "documentation":"

The details of the linked WhatsApp Business Account.

" + } + } + }, + "GetLinkedWhatsAppBusinessAccountPhoneNumberInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The unique identifier of the phone number. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

", + "location":"querystring", + "locationName":"id" + } + } + }, + "GetLinkedWhatsAppBusinessAccountPhoneNumberOutput":{ + "type":"structure", + "members":{ + "phoneNumber":{"shape":"WhatsAppPhoneNumberDetail"}, + "linkedWhatsAppBusinessAccountId":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

The WABA identifier linked to the phone number, formatted as waba-01234567890123456789012345678901.

" + } + } + }, + "GetWhatsAppMessageMediaInput":{ + "type":"structure", + "required":[ + "mediaId", + "originationPhoneNumberId" + ], + "members":{ + "mediaId":{ + "shape":"WhatsAppMediaId", + "documentation":"

The unique identifier for the media file.

" + }, + "originationPhoneNumberId":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The unique identifier of the originating phone number for the WhatsApp message media. The phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

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

Set to True to get only the metadata for the file.

" + }, + "destinationS3PresignedUrl":{ + "shape":"S3PresignedUrl", + "documentation":"

The presign url of the media file.

" + }, + "destinationS3File":{ + "shape":"S3File", + "documentation":"

The bucketName and key of the S3 media file.

" + } + } + }, + "GetWhatsAppMessageMediaOutput":{ + "type":"structure", + "members":{ + "mimeType":{ + "shape":"String", + "documentation":"

The MIME type of the media.

" + }, + "fileSize":{ + "shape":"Long", + "documentation":"

The file size of the media, in KB.

" + } + } + }, + "Headers":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request processing has failed because of an unknown error, exception, or failure.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InvalidParametersException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

One or more parameters provided to the action are not valid.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IsoCountryCode":{ + "type":"string", + "pattern":"[A-Z]{2}" + }, + "LinkedAccountWithIncompleteSetup":{ + "type":"map", + "key":{"shape":"WhatsAppBusinessAccountId"}, + "value":{"shape":"LinkedWhatsAppBusinessAccountIdMetaData"} + }, + "LinkedWhatsAppBusinessAccount":{ + "type":"structure", + "required":[ + "arn", + "id", + "wabaId", + "registrationStatus", + "linkDate", + "wabaName", + "eventDestinations", + "phoneNumbers" + ], + "members":{ + "arn":{ + "shape":"LinkedWhatsAppBusinessAccountArn", + "documentation":"

The ARN of the linked WhatsApp Business Account.

" + }, + "id":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

The ID of the linked WhatsApp Business Account, formatted as waba-01234567890123456789012345678901.

" + }, + "wabaId":{ + "shape":"WhatsAppBusinessAccountId", + "documentation":"

The WhatsApp Business Account ID from meta.

" + }, + "registrationStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The registration status of the linked WhatsApp Business Account.

" + }, + "linkDate":{ + "shape":"WhatsAppBusinessAccountLinkDate", + "documentation":"

The date the WhatsApp Business Account was linked.

" + }, + "wabaName":{ + "shape":"WhatsAppBusinessAccountName", + "documentation":"

The name of the linked WhatsApp Business Account.

" + }, + "eventDestinations":{ + "shape":"WhatsAppBusinessAccountEventDestinations", + "documentation":"

The event destinations for the linked WhatsApp Business Account.

" + }, + "phoneNumbers":{ + "shape":"WhatsAppPhoneNumberSummaryList", + "documentation":"

The phone numbers associated with the Linked WhatsApp Business Account.

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

The details of your linked WhatsApp Business Account.

" + }, + "LinkedWhatsAppBusinessAccountArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:.*:waba/[0-9a-zA-Z]+" + }, + "LinkedWhatsAppBusinessAccountId":{ + "type":"string", + "max":100, + "min":1, + "pattern":".*(^waba-.*$)|(^arn:.*:waba/[0-9a-zA-Z]+$).*" + }, + "LinkedWhatsAppBusinessAccountIdMetaData":{ + "type":"structure", + "members":{ + "accountName":{ + "shape":"WhatsAppBusinessAccountName", + "documentation":"

The name of your account.

" + }, + "registrationStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The registration status of the linked WhatsApp Business Account.

" + }, + "unregisteredWhatsAppPhoneNumbers":{ + "shape":"WhatsAppPhoneNumberDetailList", + "documentation":"

The details for unregistered WhatsApp phone numbers.

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

Contains your WhatsApp registration status and details of any unregistered WhatsApp phone number.

" + }, + "LinkedWhatsAppBusinessAccountSummary":{ + "type":"structure", + "required":[ + "arn", + "id", + "wabaId", + "registrationStatus", + "linkDate", + "wabaName", + "eventDestinations" + ], + "members":{ + "arn":{ + "shape":"LinkedWhatsAppBusinessAccountArn", + "documentation":"

The ARN of the linked WhatsApp Business Account.

" + }, + "id":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

The ID of the linked WhatsApp Business Account, formatted as waba-01234567890123456789012345678901.

" + }, + "wabaId":{ + "shape":"WhatsAppBusinessAccountId", + "documentation":"

The WhatsApp Business Account ID provided by Meta.

" + }, + "registrationStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The registration status of the linked WhatsApp Business Account.

" + }, + "linkDate":{ + "shape":"WhatsAppBusinessAccountLinkDate", + "documentation":"

The date the WhatsApp Business Account was linked.

" + }, + "wabaName":{ + "shape":"WhatsAppBusinessAccountName", + "documentation":"

The name of the linked WhatsApp Business Account.

" + }, + "eventDestinations":{ + "shape":"WhatsAppBusinessAccountEventDestinations", + "documentation":"

The event destinations for the linked WhatsApp Business Account.

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

The details of a linked WhatsApp Business Account.

" + }, + "LinkedWhatsAppBusinessAccountSummaryList":{ + "type":"list", + "member":{"shape":"LinkedWhatsAppBusinessAccountSummary"} + }, + "LinkedWhatsAppPhoneNumberArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:.*:phone-number-id/[0-9a-zA-Z]+" + }, + "ListLinkedWhatsAppBusinessAccountsInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The next token for pagination.

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

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListLinkedWhatsAppBusinessAccountsOutput":{ + "type":"structure", + "members":{ + "linkedAccounts":{ + "shape":"LinkedWhatsAppBusinessAccountSummaryList", + "documentation":"

A list of WhatsApp Business Accounts linked to your Amazon Web Services account.

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

The next token for pagination.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to retrieve the tags from.

", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "statusCode":{ + "shape":"Integer", + "documentation":"

The status code of the response.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + } + } + }, + "Long":{ + "type":"long", + "box":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":600, + "min":1 + }, + "PhoneNumber":{ + "type":"string", + "max":20, + "min":1 + }, + "PostWhatsAppMessageMediaInput":{ + "type":"structure", + "required":["originationPhoneNumberId"], + "members":{ + "originationPhoneNumberId":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The ID of the phone number to associate with the WhatsApp media file. The phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

" + }, + "sourceS3PresignedUrl":{ + "shape":"S3PresignedUrl", + "documentation":"

The source presign url of the media file.

" + }, + "sourceS3File":{ + "shape":"S3File", + "documentation":"

The source S3 url for the media file.

" + } + } + }, + "PostWhatsAppMessageMediaOutput":{ + "type":"structure", + "members":{ + "mediaId":{ + "shape":"WhatsAppMediaId", + "documentation":"

The unique identifier of the posted WhatsApp message.

" + } + } + }, + "PutWhatsAppBusinessAccountEventDestinationsInput":{ + "type":"structure", + "required":[ + "id", + "eventDestinations" + ], + "members":{ + "id":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

The unique identifier of your WhatsApp Business Account. WABA identifiers are formatted as waba-01234567890123456789012345678901. Use ListLinkedWhatsAppBusinessAccounts to list all WABAs and their details.

" + }, + "eventDestinations":{ + "shape":"WhatsAppBusinessAccountEventDestinations", + "documentation":"

An array of WhatsAppBusinessAccountEventDestination event destinations.

" + } + } + }, + "PutWhatsAppBusinessAccountEventDestinationsOutput":{ + "type":"structure", + "members":{ + } + }, + "RegistrationStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "INCOMPLETE" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource was not found.

", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "S3File":{ + "type":"structure", + "required":[ + "bucketName", + "key" + ], + "members":{ + "bucketName":{ + "shape":"S3FileBucketNameString", + "documentation":"

The bucket name.

" + }, + "key":{ + "shape":"S3FileKeyString", + "documentation":"

The object key of the media file.

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

Contains information for the S3 bucket that contains media files.

", + "sensitive":true + }, + "S3FileBucketNameString":{ + "type":"string", + "max":63, + "min":3, + "pattern":"[a-z0-9][a-z0-9.-]*[a-z0-9]" + }, + "S3FileKeyString":{ + "type":"string", + "max":1024, + "min":0 + }, + "S3PresignedUrl":{ + "type":"structure", + "required":[ + "url", + "headers" + ], + "members":{ + "url":{ + "shape":"S3PresignedUrlUrlString", + "documentation":"

The presign url to the object.

" + }, + "headers":{ + "shape":"Headers", + "documentation":"

A map of headers and their values. You must specify the Content-Type header when using PostWhatsAppMessageMedia. For a list of common headers, see Common Request Headers in the Amazon S3 API Reference

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

You can use presigned URLs to grant time-limited access to objects in Amazon S3 without updating your bucket policy. For more information, see Working with presigned URLs in the Amazon S3 User Guide.

", + "sensitive":true + }, + "S3PresignedUrlUrlString":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"https://(.*)s3(.*).amazonaws.com/(.*)" + }, + "SendWhatsAppMessageInput":{ + "type":"structure", + "required":[ + "originationPhoneNumberId", + "message", + "metaApiVersion" + ], + "members":{ + "originationPhoneNumberId":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The ID of the phone number used to send the WhatsApp message. If you are sending a media file only the originationPhoneNumberId used to upload the file can be used. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

" + }, + "message":{ + "shape":"WhatsAppMessageBlob", + "documentation":"

The message to send through WhatsApp. The length is in KB. The message field passes through a WhatsApp Message object, see Messages in the WhatsApp Business Platform Cloud API Reference.

" + }, + "metaApiVersion":{ + "shape":"String", + "documentation":"

The API version for the request formatted as v{VersionNumber}. For a list of supported API versions and Amazon Web Services Regions, see Amazon Web Services End User Messaging Social API Service Endpoints in the Amazon Web Services General Reference.

" + } + } + }, + "SendWhatsAppMessageOutput":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"String", + "documentation":"

The unique identifier of the message.

" + } + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Tag":{ + "type":"structure", + "required":["key"], + "members":{ + "key":{ + "shape":"TagKeyString", + "documentation":"

The tag key.

" + }, + "value":{ + "shape":"TagValueString", + "documentation":"

The tag value.

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

The tag for a resource.

" + }, + "TagKeyString":{ + "type":"string", + "max":128, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to tag.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + "statusCode":{ + "shape":"Integer", + "documentation":"

The status code of the tag resource operation.

" + } + } + }, + "TagValueString":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottledRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "TwoFactorPin":{ + "type":"string", + "max":6, + "min":1, + "sensitive":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to remove tags from.

" + }, + "tagKeys":{ + "shape":"StringList", + "documentation":"

The keys of the tags to remove from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + "statusCode":{ + "shape":"Integer", + "documentation":"

The status code of the untag resource operation.

" + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request contains an invalid parameter value.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "WabaPhoneNumberSetupFinalization":{ + "type":"structure", + "required":[ + "id", + "twoFactorPin" + ], + "members":{ + "id":{ + "shape":"WhatsAppPhoneNumber", + "documentation":"

The unique identifier of the originating phone number associated with the media. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901. Use GetLinkedWhatsAppBusinessAccount to find a phone number's id.

" + }, + "twoFactorPin":{ + "shape":"TwoFactorPin", + "documentation":"

The PIN to use for two-step verification. To reset your PIN follow the directions in Updating PIN in the WhatsApp Business Platform Cloud API Reference.

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

The two letter ISO region for the location of where Meta will store data.

Asia–Pacific (APAC)

Europe

Latin America (LATAM)

Middle East and Africa (MEA)

North America (NORAM)

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

An array of key and value pair tags.

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

The registration details for a linked phone number.

" + }, + "WabaPhoneNumberSetupFinalizationList":{ + "type":"list", + "member":{"shape":"WabaPhoneNumberSetupFinalization"} + }, + "WabaSetupFinalization":{ + "type":"structure", + "members":{ + "id":{ + "shape":"WhatsAppBusinessAccountId", + "documentation":"

The ID of the linked WhatsApp Business Account, formatted as waba-01234567890123456789012345678901.

" + }, + "eventDestinations":{ + "shape":"WhatsAppBusinessAccountEventDestinations", + "documentation":"

The event destinations for the linked WhatsApp Business Account.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

An array of key and value pair tags.

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

The registration details for a linked WhatsApp Business Account.

" + }, + "WhatsAppBusinessAccountEventDestination":{ + "type":"structure", + "required":["eventDestinationArn"], + "members":{ + "eventDestinationArn":{ + "shape":"EventDestinationArn", + "documentation":"

The ARN of the event destination.

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

Contains information on the event destination.

" + }, + "WhatsAppBusinessAccountEventDestinations":{ + "type":"list", + "member":{"shape":"WhatsAppBusinessAccountEventDestination"}, + "max":1, + "min":0 + }, + "WhatsAppBusinessAccountId":{ + "type":"string", + "max":100, + "min":1 + }, + "WhatsAppBusinessAccountLinkDate":{"type":"timestamp"}, + "WhatsAppBusinessAccountName":{ + "type":"string", + "max":200, + "min":0 + }, + "WhatsAppDisplayPhoneNumber":{ + "type":"string", + "max":20, + "min":0 + }, + "WhatsAppMediaId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[A-Za-z0-9]+" + }, + "WhatsAppMessageBlob":{ + "type":"blob", + "max":2048000, + "min":1, + "sensitive":true + }, + "WhatsAppPhoneNumber":{ + "type":"string", + "max":100, + "min":1 + }, + "WhatsAppPhoneNumberDetail":{ + "type":"structure", + "required":[ + "arn", + "phoneNumber", + "phoneNumberId", + "metaPhoneNumberId", + "displayPhoneNumberName", + "displayPhoneNumber", + "qualityRating" + ], + "members":{ + "arn":{ + "shape":"LinkedWhatsAppPhoneNumberArn", + "documentation":"

The ARN of the WhatsApp phone number.

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

The phone number for sending WhatsApp.

" + }, + "phoneNumberId":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The phone number ID. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901.

" + }, + "metaPhoneNumberId":{ + "shape":"WhatsAppPhoneNumber", + "documentation":"

The phone number ID from Meta.

" + }, + "displayPhoneNumberName":{ + "shape":"WhatsAppPhoneNumberName", + "documentation":"

The display name for this phone number.

" + }, + "displayPhoneNumber":{ + "shape":"WhatsAppDisplayPhoneNumber", + "documentation":"

The phone number that appears in the recipients display.

" + }, + "qualityRating":{ + "shape":"WhatsAppPhoneNumberQualityRating", + "documentation":"

The quality rating of the phone number.

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

The details of your WhatsApp phone number.

" + }, + "WhatsAppPhoneNumberDetailList":{ + "type":"list", + "member":{"shape":"WhatsAppPhoneNumberDetail"} + }, + "WhatsAppPhoneNumberId":{ + "type":"string", + "max":100, + "min":1, + "pattern":".*(^phone-number-id-.*$)|(^arn:.*:phone-number-id/[0-9a-zA-Z]+$).*" + }, + "WhatsAppPhoneNumberName":{ + "type":"string", + "max":200, + "min":0 + }, + "WhatsAppPhoneNumberQualityRating":{ + "type":"string", + "max":10, + "min":0 + }, + "WhatsAppPhoneNumberSummary":{ + "type":"structure", + "required":[ + "arn", + "phoneNumber", + "phoneNumberId", + "metaPhoneNumberId", + "displayPhoneNumberName", + "displayPhoneNumber", + "qualityRating" + ], + "members":{ + "arn":{ + "shape":"LinkedWhatsAppPhoneNumberArn", + "documentation":"

The full Amazon Resource Name (ARN) for the phone number.

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

The phone number associated with the Linked WhatsApp Business Account.

" + }, + "phoneNumberId":{ + "shape":"WhatsAppPhoneNumberId", + "documentation":"

The phone number ID. Phone number identifiers are formatted as phone-number-id-01234567890123456789012345678901.

" + }, + "metaPhoneNumberId":{ + "shape":"WhatsAppPhoneNumber", + "documentation":"

The phone number ID from Meta.

" + }, + "displayPhoneNumberName":{ + "shape":"WhatsAppPhoneNumberName", + "documentation":"

The display name for this phone number.

" + }, + "displayPhoneNumber":{ + "shape":"WhatsAppDisplayPhoneNumber", + "documentation":"

The phone number that appears in the recipients display.

" + }, + "qualityRating":{ + "shape":"WhatsAppPhoneNumberQualityRating", + "documentation":"

The quality rating of the phone number. This is from Meta.

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

The details of a linked phone number.

" + }, + "WhatsAppPhoneNumberSummaryList":{ + "type":"list", + "member":{"shape":"WhatsAppPhoneNumberSummary"} + }, + "WhatsAppSetupFinalization":{ + "type":"structure", + "required":[ + "associateInProgressToken", + "phoneNumbers" + ], + "members":{ + "associateInProgressToken":{ + "shape":"AssociateInProgressToken", + "documentation":"

An Amazon Web Services access token generated by WhatsAppSignupCallback and used by WhatsAppSetupFinalization.

" + }, + "phoneNumbers":{ + "shape":"WabaPhoneNumberSetupFinalizationList", + "documentation":"

An array of WabaPhoneNumberSetupFinalization objects containing the details of each phone number associated with the WhatsApp Business Account.

" + }, + "phoneNumberParent":{ + "shape":"LinkedWhatsAppBusinessAccountId", + "documentation":"

Used to add a new phone number to an existing WhatsApp Business Account. This field can't be used when the waba field is present.

" + }, + "waba":{ + "shape":"WabaSetupFinalization", + "documentation":"

Used to create a new WhatsApp Business Account and add a phone number. This field can't be used when the phoneNumberParent field is present.

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

The details of linking a WhatsApp Business Account to your Amazon Web Services account.

" + }, + "WhatsAppSignupCallback":{ + "type":"structure", + "required":["accessToken"], + "members":{ + "accessToken":{ + "shape":"WhatsAppSignupCallbackAccessTokenString", + "documentation":"

The access token for your WhatsApp Business Account. The accessToken value is provided by Meta.

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

Contains the accessToken provided by Meta during signup.

" + }, + "WhatsAppSignupCallbackAccessTokenString":{ + "type":"string", + "max":1000, + "min":0 + }, + "WhatsAppSignupCallbackResult":{ + "type":"structure", + "members":{ + "associateInProgressToken":{ + "shape":"AssociateInProgressToken", + "documentation":"

An Amazon Web Services access token generated by WhatsAppSignupCallback and used by WhatsAppSetupFinalization.

" + }, + "linkedAccountsWithIncompleteSetup":{ + "shape":"LinkedAccountWithIncompleteSetup", + "documentation":"

A LinkedWhatsAppBusinessAccountIdMetaData object map containing the details of any WhatsAppBusiness accounts that have incomplete setup.

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

Contains the results of WhatsAppSignupCallback.

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

Amazon Web Services End User Messaging Social, also referred to as Social messaging, is a messaging service that enables application developers to incorporate WhatsApp into their existing workflows. The Amazon Web Services End User Messaging Social API provides information about the Amazon Web Services End User Messaging Social API resources, including supported HTTP methods, parameters, and schemas.

The Amazon Web Services End User Messaging Social API provides programmatic access to options that are unique to the WhatsApp Business Platform.

If you're new to the Amazon Web Services End User Messaging Social API, it's also helpful to review What is Amazon Web Services End User Messaging Social in the Amazon Web Services End User Messaging Social User Guide. The Amazon Web Services End User Messaging Social User Guide provides tutorials, code samples, and procedures that demonstrate how to use Amazon Web Services End User Messaging Social API features programmatically and how to integrate functionality into applications. The guide also provides key information, such as integration with other Amazon Web Services services, and the quotas that apply to use of the service.

Regional availability

The Amazon Web Services End User Messaging Social API is available across several Amazon Web Services Regions and it provides a dedicated endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see Amazon Web Services Service Endpoints and Amazon Web Services End User Messaging endpoints and quotas in the Amazon Web Services General Reference. To learn more about Amazon Web Services Regions, see Managing Amazon Web Services Regions in the Amazon Web Services General Reference.

In each Region, Amazon Web Services maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see Amazon Web Services Global Infrastructure.

" +} diff --git a/botocore/data/timestream-influxdb/2023-01-27/service-2.json b/botocore/data/timestream-influxdb/2023-01-27/service-2.json index 95937872ea..eb364429cc 100644 --- a/botocore/data/timestream-influxdb/2023-01-27/service-2.json +++ b/botocore/data/timestream-influxdb/2023-01-27/service-2.json @@ -487,7 +487,7 @@ "type":"string", "max":40, "min":3, - "pattern":"[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*" + "pattern":"[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*" }, "DbInstanceSummary":{ "type":"structure", @@ -573,7 +573,7 @@ "type":"string", "max":64, "min":3, - "pattern":"[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*" + "pattern":"[a-zA-Z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*" }, "DbParameterGroupSummary":{ "type":"structure", diff --git a/docs/source/conf.py b/docs/source/conf.py index cc73168dc1..be9d98c8a0 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.37' +release = '1.35.38' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/tests/functional/endpoint-rules/socialmessaging/endpoint-tests-1.json b/tests/functional/endpoint-rules/socialmessaging/endpoint-tests-1.json new file mode 100644 index 0000000000..71c79cbe24 --- /dev/null +++ b/tests/functional/endpoint-rules/socialmessaging/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://social-messaging-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://social-messaging-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://social-messaging.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://social-messaging.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://social-messaging-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://social-messaging-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://social-messaging.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://social-messaging.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://social-messaging-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://social-messaging-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://social-messaging.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://social-messaging.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://social-messaging-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://social-messaging.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://social-messaging-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://social-messaging.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tests/functional/test_socialmessaging.py b/tests/functional/test_socialmessaging.py new file mode 100644 index 0000000000..504ef9729b --- /dev/null +++ b/tests/functional/test_socialmessaging.py @@ -0,0 +1,44 @@ +# Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import pytest + +from botocore import xform_name +from botocore.session import get_session + +_KNOWN_REPLACEMENTS = [ + 'whatsapp', +] + + +def _get_all_xform_operations(): + session = get_session() + service_model = session.get_service_model("socialmessaging") + transform_operations = [] + for operation in service_model.operation_names: + for replacement in _KNOWN_REPLACEMENTS: + if replacement in operation.lower(): + transform_operations.append((operation, replacement)) + return transform_operations + + +XFORM_OPERATIONS = _get_all_xform_operations() + + +@pytest.mark.validates_models +@pytest.mark.parametrize("operation, replacement", XFORM_OPERATIONS) +def test_known_replacements(operation, replacement): + # Validates that if a replacement shows up in the lowercased version of an + # operation, we will keep all of those characters together in the final operation + # name + assert replacement in xform_name(operation, '_') + assert replacement in xform_name(operation, '-') diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index 240dd6b535..8a92bd6b06 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -285,6 +285,45 @@ def test_special_cases(self): self.assertEqual( xform_name('sourceServerIDs', '-'), 'source-server-ids' ) + self.assertEqual( + xform_name('AssociateWhatsAppBusinessAccount', '-'), + 'associate-whatsapp-business-account', + ) + self.assertEqual( + xform_name('DeleteWhatsAppMessageMedia', '-'), + 'delete-whatsapp-media-message', + ) + self.assertEqual( + xform_name('DisassociateWhatsAppBusinessAccount', '-'), + 'disassociate-whatsapp-business-account', + ) + self.assertEqual( + xform_name('GetLinkedWhatsAppBusinessAccount', '-'), + 'get-linked-whatsapp-business-account', + ) + self.assertEqual( + xform_name('GetLinkedWhatsAppBusinessAccountPhoneNumber', '-'), + 'get-linked-whatsapp-business-account-phone-number', + ) + self.assertEqual( + xform_name('GetWhatsAppMessageMedia', '-'), + 'get-whatsapp-message-media', + ) + self.assertEqual( + xform_name('ListLinkedWhatsAppBusinessAccounts', '-'), + 'list-linked-whatsapp-business-accounts', + ) + self.assertEqual( + xform_name('PostWhatsAppMessageMedia', '-'), + 'post-whatsapp-message-media', + ) + self.assertEqual( + xform_name('PutWhatsAppBusinessAccountEventDestinations', '-'), + 'put-whatsapp-business-account-event-destinations', + ) + self.assertEqual( + xform_name('SendWhatsAppMessage', '-'), 'send-whatsapp-message' + ) def test_special_case_ends_with_s(self): self.assertEqual(xform_name('GatewayARNs', '-'), 'gateway-arns')