From f6bc67062e246b16c25e93aad82ab4d1a5ba0524 Mon Sep 17 00:00:00 2001 From: AWS SDK For Ruby Date: Mon, 9 Sep 2024 18:15:52 +0000 Subject: [PATCH] Updated API models and rebuilt service gems. --- apis/dynamodb/2012-08-10/docs-2.json | 6 +- .../2015-12-01/paginators-1.json | 10 + .../2015-12-01/waiters-2.json | 6 +- apis/ivs-realtime/2020-07-14/api-2.json | 274 +- apis/ivs-realtime/2020-07-14/docs-2.json | 210 +- .../ivs-realtime/2020-07-14/paginators-1.json | 6 + apis/kafka/2018-11-14/api-2.json | 2593 +++++++++-------- apis/kafka/2018-11-14/docs-2.json | 16 +- apis/runtime.sagemaker/2017-05-13/api-2.json | 35 + apis/runtime.sagemaker/2017-05-13/docs-2.json | 19 + apis/sagemaker/2017-07-24/api-2.json | 70 +- apis/sagemaker/2017-07-24/docs-2.json | 51 +- gems/aws-partitions/CHANGELOG.md | 5 + gems/aws-partitions/VERSION | 2 +- gems/aws-partitions/partitions.json | 12 + gems/aws-sdk-dynamodb/CHANGELOG.md | 5 + gems/aws-sdk-dynamodb/VERSION | 2 +- gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb | 2 +- .../lib/aws-sdk-dynamodb/client.rb | 26 +- .../lib/aws-sdk-dynamodb/types.rb | 12 +- .../CHANGELOG.md | 5 + gems/aws-sdk-elasticloadbalancingv2/VERSION | 2 +- .../lib/aws-sdk-elasticloadbalancingv2.rb | 2 +- .../aws-sdk-elasticloadbalancingv2/client.rb | 6 +- .../client_api.rb | 10 + .../aws-sdk-elasticloadbalancingv2/waiters.rb | 6 +- gems/aws-sdk-ivsrealtime/CHANGELOG.md | 5 + gems/aws-sdk-ivsrealtime/VERSION | 2 +- .../lib/aws-sdk-ivsrealtime.rb | 2 +- .../lib/aws-sdk-ivsrealtime/client.rb | 369 ++- .../lib/aws-sdk-ivsrealtime/client_api.rb | 157 +- .../lib/aws-sdk-ivsrealtime/endpoints.rb | 70 + .../aws-sdk-ivsrealtime/plugins/endpoints.rb | 10 + .../lib/aws-sdk-ivsrealtime/types.rb | 553 +++- gems/aws-sdk-ivsrealtime/sig/client.rbs | 61 + gems/aws-sdk-ivsrealtime/sig/types.rbs | 90 +- gems/aws-sdk-kafka/CHANGELOG.md | 5 + gems/aws-sdk-kafka/VERSION | 2 +- gems/aws-sdk-kafka/aws-sdk-kafka.gemspec | 2 +- gems/aws-sdk-kafka/lib/aws-sdk-kafka.rb | 2 +- .../aws-sdk-kafka/lib/aws-sdk-kafka/client.rb | 14 +- .../lib/aws-sdk-kafka/client_api.rb | 7 + gems/aws-sdk-kafka/lib/aws-sdk-kafka/types.rb | 22 + gems/aws-sdk-kafka/sig/client.rbs | 3 + gems/aws-sdk-kafka/sig/types.rbs | 6 + gems/aws-sdk-sagemaker/CHANGELOG.md | 5 + gems/aws-sdk-sagemaker/VERSION | 2 +- .../lib/aws-sdk-sagemaker.rb | 2 +- .../lib/aws-sdk-sagemaker/client.rb | 41 +- .../lib/aws-sdk-sagemaker/client_api.rb | 26 +- .../lib/aws-sdk-sagemaker/types.rb | 86 +- gems/aws-sdk-sagemaker/sig/client.rbs | 19 +- gems/aws-sdk-sagemaker/sig/types.rbs | 19 +- gems/aws-sdk-sagemakerruntime/CHANGELOG.md | 5 + gems/aws-sdk-sagemakerruntime/VERSION | 2 +- .../lib/aws-sdk-sagemakerruntime.rb | 2 +- .../lib/aws-sdk-sagemakerruntime/client.rb | 35 +- .../aws-sdk-sagemakerruntime/client_api.rb | 7 + .../lib/aws-sdk-sagemakerruntime/types.rb | 50 +- gems/aws-sdk-sagemakerruntime/sig/client.rbs | 8 +- gems/aws-sdk-sagemakerruntime/sig/types.rbs | 4 + 61 files changed, 3651 insertions(+), 1437 deletions(-) diff --git a/apis/dynamodb/2012-08-10/docs-2.json b/apis/dynamodb/2012-08-10/docs-2.json index 872fd2430a1..da9a9fb8db9 100644 --- a/apis/dynamodb/2012-08-10/docs-2.json +++ b/apis/dynamodb/2012-08-10/docs-2.json @@ -46,10 +46,10 @@ "RestoreTableFromBackup": "

Creates a new table from an existing backup. Any number of users can execute up to 50 concurrent restores (any type of restore) in a given account.

You can call RestoreTableFromBackup at a maximum rate of 10 times per second.

You must manually set up the following on the restored table:

", "RestoreTableToPointInTime": "

Restores the specified table to the specified point in time within EarliestRestorableDateTime and LatestRestorableDateTime. You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 50 concurrent restores (any type of restore) in a given account.

When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table.

Along with data, the following are also included on the new restored table using point in time recovery:

You must manually set up the following on the restored table:

", "Scan": "

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total size of scanned items exceeds the maximum dataset size limit of 1 MB, the scan completes and results are returned to the user. The LastEvaluatedKey value is also returned and the requestor can use the LastEvaluatedKey to continue the scan in a subsequent operation. Each scan response also includes number of items that were scanned (ScannedCount) as part of the request. If using a FilterExpression, a scan result can result in no items meeting the criteria and the Count will result in zero. If you did not use a FilterExpression in the scan request, then Count is the same as ScannedCount.

Count and ScannedCount only return the count of items specific to a single scan request and, unless the table is less than 1MB, do not represent the total number of items in the table.

A single Scan operation first reads up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then applies any filtering to the results if a FilterExpression is provided. If LastEvaluatedKey is present in the response, pagination is required to complete the full table scan. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

By default, a Scan uses eventually consistent reads when accessing the items in a table. Therefore, the results from an eventually consistent Scan may not include the latest item changes at the time the scan iterates through each item in the table. If you require a strongly consistent read of each item as the scan iterates through the items in the table, you can set the ConsistentRead parameter to true. Strong consistency only relates to the consistency of the read at the item level.

DynamoDB does not provide snapshot isolation for a scan operation when the ConsistentRead parameter is set to true. Thus, a DynamoDB scan operation does not guarantee that all reads in a scan see a consistent snapshot of the table when the scan operation was requested.

", - "TagResource": "

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "TagResource": "

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "TransactGetItems": "

TransactGetItems is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and Region. A TransactGetItems call can contain up to 100 TransactGetItem objects, each of which contains a Get structure that specifies an item to retrieve from a table in the account and Region. A call to TransactGetItems cannot retrieve items from tables in more than one Amazon Web Services account or Region. The aggregate size of the items in the transaction cannot exceed 4 MB.

DynamoDB rejects the entire TransactGetItems request if any of the following is true:

", "TransactWriteItems": "

TransactWriteItems is a synchronous write operation that groups up to 100 action requests. These actions can target items in different tables, but not in different Amazon Web Services accounts or Regions, and no two actions can target the same item. For example, you cannot both ConditionCheck and Update the same item. The aggregate size of the items in the transaction cannot exceed 4 MB.

The actions are completed atomically so that either all of them succeed, or all of them fail. They are defined by the following objects:

DynamoDB rejects the entire TransactWriteItems request if any of the following is true:

", - "UntagResource": "

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to five times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "UntagResource": "

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to five times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", "UpdateContinuousBackups": "

UpdateContinuousBackups enables or disables point in time recovery for the specified table. A successful UpdateContinuousBackups call returns the current ContinuousBackupsDescription. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED.

Once continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.

LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days.

", "UpdateContributorInsights": "

Updates the status for contributor insights for a specific table or index. CloudWatch Contributor Insights for DynamoDB graphs display the partition key and (if applicable) sort key of frequently accessed items and frequently throttled items in plaintext. If you require the use of Amazon Web Services Key Management Service (KMS) to encrypt this table’s partition key and sort key data with an Amazon Web Services managed key or customer managed key, you should not enable CloudWatch Contributor Insights for DynamoDB for this table.

", "UpdateGlobalTable": "

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

This documentation is for version 2017.11.29 (Legacy) of global tables, which should be avoided for new global tables. Customers should use Global Tables version 2019.11.21 (Current) when possible, because it provides greater flexibility, higher efficiency, and consumes less write capacity than 2017.11.29 (Legacy).

To determine which version you're using, see Determining the global table version you are using. To update existing global tables from version 2017.11.29 (Legacy) to version 2019.11.21 (Current), see Upgrading global tables.

For global tables, this operation only applies to global tables using Version 2019.11.21 (Current version). If you are using global tables Version 2019.11.21 you can use UpdateTable instead.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

", @@ -2555,7 +2555,7 @@ } }, "ResourceInUseException": { - "base": "

The operation conflicts with the resource's availability. For example, you attempted to recreate an existing table, or tried to delete a table currently in the CREATING state.

", + "base": "

The operation conflicts with the resource's availability. For example:

When appropriate, wait for the ongoing update to complete and attempt the request again.

", "refs": { } }, diff --git a/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json b/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json index ec7152a2d29..e6876acb206 100644 --- a/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json +++ b/apis/elasticloadbalancingv2/2015-12-01/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "DescribeListenerCertificates": { + "input_token": "Marker", + "output_token": "NextMarker", + "result_key": "Certificates" + }, "DescribeListeners": { "input_token": "Marker", "output_token": "NextMarker", @@ -10,6 +15,11 @@ "output_token": "NextMarker", "result_key": "LoadBalancers" }, + "DescribeRules": { + "input_token": "Marker", + "output_token": "NextMarker", + "result_key": "Rules" + }, "DescribeTargetGroups": { "input_token": "Marker", "output_token": "NextMarker", diff --git a/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json b/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json index 9f3d77d828f..0a7e8afdd5a 100644 --- a/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json +++ b/apis/elasticloadbalancingv2/2015-12-01/waiters-2.json @@ -13,7 +13,7 @@ }, { "matcher": "error", - "expected": "LoadBalancerNotFound", + "expected": "LoadBalancerNotFoundException", "state": "retry" } ] @@ -38,7 +38,7 @@ { "state": "retry", "matcher": "error", - "expected": "LoadBalancerNotFound" + "expected": "LoadBalancerNotFoundException" } ] }, @@ -55,7 +55,7 @@ }, { "matcher": "error", - "expected": "LoadBalancerNotFound", + "expected": "LoadBalancerNotFoundException", "state": "success" } ] diff --git a/apis/ivs-realtime/2020-07-14/api-2.json b/apis/ivs-realtime/2020-07-14/api-2.json index e067b65e3bd..b26867e7eb3 100644 --- a/apis/ivs-realtime/2020-07-14/api-2.json +++ b/apis/ivs-realtime/2020-07-14/api-2.json @@ -3,8 +3,8 @@ "metadata":{ "apiVersion":"2020-07-14", "endpointPrefix":"ivsrealtime", + "jsonVersion":"1.1", "protocol":"rest-json", - "protocols":["rest-json"], "serviceAbbreviation":"ivsrealtime", "serviceFullName":"Amazon Interactive Video Service RealTime", "serviceId":"IVS RealTime", @@ -32,6 +32,22 @@ {"shape":"PendingVerification"} ] }, + "CreateIngestConfiguration":{ + "name":"CreateIngestConfiguration", + "http":{ + "method":"POST", + "requestUri":"/CreateIngestConfiguration", + "responseCode":200 + }, + "input":{"shape":"CreateIngestConfigurationRequest"}, + "output":{"shape":"CreateIngestConfigurationResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"PendingVerification"} + ] + }, "CreateParticipantToken":{ "name":"CreateParticipantToken", "http":{ @@ -102,6 +118,23 @@ {"shape":"ConflictException"} ] }, + "DeleteIngestConfiguration":{ + "name":"DeleteIngestConfiguration", + "http":{ + "method":"POST", + "requestUri":"/DeleteIngestConfiguration", + "responseCode":200 + }, + "input":{"shape":"DeleteIngestConfigurationRequest"}, + "output":{"shape":"DeleteIngestConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"PendingVerification"} + ] + }, "DeletePublicKey":{ "name":"DeletePublicKey", "http":{ @@ -206,6 +239,21 @@ {"shape":"ConflictException"} ] }, + "GetIngestConfiguration":{ + "name":"GetIngestConfiguration", + "http":{ + "method":"POST", + "requestUri":"/GetIngestConfiguration", + "responseCode":200 + }, + "input":{"shape":"GetIngestConfigurationRequest"}, + "output":{"shape":"GetIngestConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, "GetParticipant":{ "name":"GetParticipant", "http":{ @@ -335,6 +383,20 @@ {"shape":"ConflictException"} ] }, + "ListIngestConfigurations":{ + "name":"ListIngestConfigurations", + "http":{ + "method":"POST", + "requestUri":"/ListIngestConfigurations", + "responseCode":200 + }, + "input":{"shape":"ListIngestConfigurationsRequest"}, + "output":{"shape":"ListIngestConfigurationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListParticipantEvents":{ "name":"ListParticipantEvents", "http":{ @@ -506,6 +568,23 @@ ], "idempotent":true }, + "UpdateIngestConfiguration":{ + "name":"UpdateIngestConfiguration", + "http":{ + "method":"POST", + "requestUri":"/UpdateIngestConfiguration", + "responseCode":200 + }, + "input":{"shape":"UpdateIngestConfigurationRequest"}, + "output":{"shape":"UpdateIngestConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"PendingVerification"} + ] + }, "UpdateStage":{ "name":"UpdateStage", "http":{ @@ -563,6 +642,7 @@ "max":8500000, "min":1 }, + "Boolean":{"type":"boolean"}, "ChannelArn":{ "type":"string", "max":128, @@ -666,6 +746,25 @@ "encoderConfiguration":{"shape":"EncoderConfiguration"} } }, + "CreateIngestConfigurationRequest":{ + "type":"structure", + "required":["ingestProtocol"], + "members":{ + "name":{"shape":"IngestConfigurationName"}, + "stageArn":{"shape":"IngestConfigurationStageArn"}, + "userId":{"shape":"UserId"}, + "attributes":{"shape":"ParticipantAttributes"}, + "ingestProtocol":{"shape":"IngestProtocol"}, + "insecureIngest":{"shape":"InsecureIngest"}, + "tags":{"shape":"Tags"} + } + }, + "CreateIngestConfigurationResponse":{ + "type":"structure", + "members":{ + "ingestConfiguration":{"shape":"IngestConfiguration"} + } + }, "CreateParticipantTokenRequest":{ "type":"structure", "required":["stageArn"], @@ -726,6 +825,19 @@ "members":{ } }, + "DeleteIngestConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"IngestConfigurationArn"}, + "force":{"shape":"Boolean"} + } + }, + "DeleteIngestConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeletePublicKeyRequest":{ "type":"structure", "required":["arn"], @@ -918,7 +1030,15 @@ "enum":[ "INSUFFICIENT_CAPABILITIES", "QUOTA_EXCEEDED", - "PUBLISHER_NOT_FOUND" + "PUBLISHER_NOT_FOUND", + "BITRATE_EXCEEDED", + "RESOLUTION_EXCEEDED", + "STREAM_DURATION_EXCEEDED", + "INVALID_AUDIO_CODEC", + "INVALID_VIDEO_CODEC", + "INVALID_PROTOCOL", + "INVALID_STREAM_KEY", + "REUSE_OF_STREAM_KEY" ] }, "EventList":{ @@ -971,6 +1091,19 @@ "encoderConfiguration":{"shape":"EncoderConfiguration"} } }, + "GetIngestConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"IngestConfigurationArn"} + } + }, + "GetIngestConfigurationResponse":{ + "type":"structure", + "members":{ + "ingestConfiguration":{"shape":"IngestConfiguration"} + } + }, "GetParticipantRequest":{ "type":"structure", "required":[ @@ -1081,6 +1214,85 @@ "publicKey":{"shape":"PublicKey"} } }, + "IngestConfiguration":{ + "type":"structure", + "required":[ + "arn", + "ingestProtocol", + "streamKey", + "stageArn", + "participantId", + "state" + ], + "members":{ + "name":{"shape":"IngestConfigurationName"}, + "arn":{"shape":"IngestConfigurationArn"}, + "ingestProtocol":{"shape":"IngestProtocol"}, + "streamKey":{"shape":"StreamKey"}, + "stageArn":{"shape":"IngestConfigurationStageArn"}, + "participantId":{"shape":"ParticipantId"}, + "state":{"shape":"IngestConfigurationState"}, + "userId":{"shape":"UserId"}, + "attributes":{"shape":"ParticipantAttributes"}, + "tags":{"shape":"Tags"} + } + }, + "IngestConfigurationArn":{ + "type":"string", + "max":128, + "min":1, + "pattern":"arn:aws:ivs:[a-z0-9-]+:[0-9]+:ingest-configuration/[a-zA-Z0-9-]+" + }, + "IngestConfigurationList":{ + "type":"list", + "member":{"shape":"IngestConfigurationSummary"} + }, + "IngestConfigurationName":{ + "type":"string", + "max":128, + "min":0, + "pattern":"[a-zA-Z0-9-_]*" + }, + "IngestConfigurationStageArn":{ + "type":"string", + "max":128, + "min":0, + "pattern":"^$|^arn:aws:ivs:[a-z0-9-]+:[0-9]+:stage/[a-zA-Z0-9-]+$" + }, + "IngestConfigurationState":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, + "IngestConfigurationSummary":{ + "type":"structure", + "required":[ + "arn", + "ingestProtocol", + "stageArn", + "participantId", + "state" + ], + "members":{ + "name":{"shape":"IngestConfigurationName"}, + "arn":{"shape":"IngestConfigurationArn"}, + "ingestProtocol":{"shape":"IngestProtocol"}, + "stageArn":{"shape":"IngestConfigurationStageArn"}, + "participantId":{"shape":"ParticipantId"}, + "state":{"shape":"IngestConfigurationState"}, + "userId":{"shape":"UserId"} + } + }, + "IngestProtocol":{ + "type":"string", + "enum":[ + "RTMP", + "RTMPS" + ] + }, + "InsecureIngest":{"type":"boolean"}, "InternalServerException":{ "type":"structure", "members":{ @@ -1129,6 +1341,23 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListIngestConfigurationsRequest":{ + "type":"structure", + "members":{ + "filterByStageArn":{"shape":"StageArn"}, + "filterByState":{"shape":"IngestConfigurationState"}, + "nextToken":{"shape":"PaginationToken"}, + "maxResults":{"shape":"MaxIngestConfigurationResults"} + } + }, + "ListIngestConfigurationsResponse":{ + "type":"structure", + "required":["ingestConfigurations"], + "members":{ + "ingestConfigurations":{"shape":"IngestConfigurationList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListParticipantEventsRequest":{ "type":"structure", "required":[ @@ -1269,6 +1498,12 @@ "max":100, "min":1 }, + "MaxIngestConfigurationResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "MaxParticipantEventResults":{ "type":"integer", "box":true, @@ -1329,7 +1564,8 @@ "sdkVersion":{"shape":"ParticipantClientAttribute"}, "recordingS3BucketName":{"shape":"ParticipantRecordingS3BucketName"}, "recordingS3Prefix":{"shape":"ParticipantRecordingS3Prefix"}, - "recordingState":{"shape":"ParticipantRecordingState"} + "recordingState":{"shape":"ParticipantRecordingState"}, + "protocol":{"shape":"ParticipantProtocol"} } }, "ParticipantAttributes":{ @@ -1353,6 +1589,15 @@ "type":"list", "member":{"shape":"ParticipantSummary"} }, + "ParticipantProtocol":{ + "type":"string", + "enum":[ + "UNKNOWN", + "WHIP", + "RTMP", + "RTMPS" + ] + }, "ParticipantRecordingFilterByRecordingState":{ "type":"string", "enum":[ @@ -1679,7 +1924,9 @@ "type":"structure", "members":{ "events":{"shape":"StageEndpoint"}, - "whip":{"shape":"StageEndpoint"} + "whip":{"shape":"StageEndpoint"}, + "rtmp":{"shape":"StageEndpoint"}, + "rtmps":{"shape":"StageEndpoint"} } }, "StageName":{ @@ -1799,6 +2046,11 @@ "type":"list", "member":{"shape":"StorageConfigurationSummary"} }, + "StreamKey":{ + "type":"string", + "pattern":"rt_[0-9]+_[a-z0-9-]+_[a-zA-Z0-9-]+_.+", + "sensitive":true + }, "String":{"type":"string"}, "TagKey":{ "type":"string", @@ -1871,6 +2123,20 @@ "members":{ } }, + "UpdateIngestConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"IngestConfigurationArn"}, + "stageArn":{"shape":"IngestConfigurationStageArn"} + } + }, + "UpdateIngestConfigurationResponse":{ + "type":"structure", + "members":{ + "ingestConfiguration":{"shape":"IngestConfiguration"} + } + }, "UpdateStageRequest":{ "type":"structure", "required":["arn"], diff --git a/apis/ivs-realtime/2020-07-14/docs-2.json b/apis/ivs-realtime/2020-07-14/docs-2.json index d5ce211ea3a..42a72148415 100644 --- a/apis/ivs-realtime/2020-07-14/docs-2.json +++ b/apis/ivs-realtime/2020-07-14/docs-2.json @@ -1,18 +1,21 @@ { "version": "2.0", - "service": "

The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, including errors.

Key Concepts

For server-side composition:

For more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming.

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources for more information, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS stages has no service-specific constraints beyond what is documented there.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS real-time API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage.

At most 50 tags can be applied to a resource.

", + "service": "

The Amazon Interactive Video Service (IVS) real-time API is REST compatible, using a standard HTTP API and an AWS EventBridge event stream for responses. JSON is used for both requests and responses, including errors.

Key Concepts

For server-side composition:

For more information about your IVS live stream, also see Getting Started with Amazon IVS Real-Time Streaming.

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS stages has no service-specific constraints beyond what is documented there.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS real-time API has these tag-related operations: TagResource, UntagResource, and ListTagsForResource. The following resource supports tagging: Stage.

At most 50 tags can be applied to a resource.

", "operations": { "CreateEncoderConfiguration": "

Creates an EncoderConfiguration object.

", + "CreateIngestConfiguration": "

Creates a new IngestConfiguration resource, used to specify the ingest protocol for a stage.

", "CreateParticipantToken": "

Creates an additional token for a specified stage. This can be done after stage creation or when tokens expire. Tokens always are scoped to the stage for which they are created.

Encryption keys are owned by Amazon IVS and never used directly by your application.

", "CreateStage": "

Creates a new stage (and optionally participant tokens).

", "CreateStorageConfiguration": "

Creates a new storage configuration, used to enable recording to Amazon S3. When a StorageConfiguration is created, IVS will modify the S3 bucketPolicy of the provided bucket. This will ensure that IVS has sufficient permissions to write content to the provided bucket.

", "DeleteEncoderConfiguration": "

Deletes an EncoderConfiguration resource. Ensures that no Compositions are using this template; otherwise, returns an error.

", + "DeleteIngestConfiguration": "

Deletes a specified IngestConfiguration, so it can no longer be used to broadcast. An IngestConfiguration cannot be deleted if the publisher is actively streaming to a stage, unless force is set to true.

", "DeletePublicKey": "

Deletes the specified public key used to sign stage participant tokens. This invalidates future participant tokens generated using the key pair’s private key.

", - "DeleteStage": "

Shuts down and deletes the specified stage (disconnecting all participants).

", + "DeleteStage": "

Shuts down and deletes the specified stage (disconnecting all participants). This operation also removes the stageArn from the associated IngestConfiguration, if there are participants using the IngestConfiguration to publish to the stage.

", "DeleteStorageConfiguration": "

Deletes the storage configuration for the specified ARN.

If you try to delete a storage configuration that is used by a Composition, you will get an error (409 ConflictException). To avoid this, for all Compositions that reference the storage configuration, first use StopComposition and wait for it to complete, then use DeleteStorageConfiguration.

", - "DisconnectParticipant": "

Disconnects a specified participant and revokes the participant permanently from a specified stage.

", + "DisconnectParticipant": "

Disconnects a specified participant from a specified stage. If the participant is publishing using an IngestConfiguration, DisconnectParticipant also updates the stageArn in the IngestConfiguration to be an empty string.

", "GetComposition": "

Get information about the specified Composition resource.

", "GetEncoderConfiguration": "

Gets information about the specified EncoderConfiguration resource.

", + "GetIngestConfiguration": "

Gets information about the specified IngestConfiguration.

", "GetParticipant": "

Gets information about the specified participant token.

", "GetPublicKey": "

Gets information for the specified public key.

", "GetStage": "

Gets information for the specified stage.

", @@ -21,6 +24,7 @@ "ImportPublicKey": "

Import a public key to be used for signing stage participant tokens.

", "ListCompositions": "

Gets summary information about all Compositions in your account, in the AWS region where the API request is processed.

", "ListEncoderConfigurations": "

Gets summary information about all EncoderConfigurations in your account, in the AWS region where the API request is processed.

", + "ListIngestConfigurations": "

Lists all IngestConfigurations in your account, in the AWS region where the API request is processed.

", "ListParticipantEvents": "

Lists events for a specified participant that occurred during a specified stage session.

", "ListParticipants": "

Lists all participants in a specified stage session.

", "ListPublicKeys": "

Gets summary information about all public keys in your account, in the AWS region where the API request is processed.

", @@ -28,10 +32,11 @@ "ListStages": "

Gets summary information about all stages in your account, in the AWS region where the API request is processed.

", "ListStorageConfigurations": "

Gets summary information about all storage configurations in your account, in the AWS region where the API request is processed.

", "ListTagsForResource": "

Gets information about AWS tags for the specified ARN.

", - "StartComposition": "

Starts a Composition from a stage based on the configuration provided in the request.

A Composition is an ephemeral resource that exists after this endpoint returns successfully. Composition stops and the resource is deleted:

", + "StartComposition": "

Starts a Composition from a stage based on the configuration provided in the request.

A Composition is an ephemeral resource that exists after this operation returns successfully. Composition stops and the resource is deleted:

", "StopComposition": "

Stops and deletes a Composition resource. Any broadcast from the Composition resource is stopped.

", "TagResource": "

Adds or updates tags for the AWS resource with the specified ARN.

", "UntagResource": "

Removes tags from the resource with the specified ARN.

", + "UpdateIngestConfiguration": "

Updates a specified IngestConfiguration. Only the stage ARN attached to the IngestConfiguration can be updated. An IngestConfiguration that is active cannot be updated.

", "UpdateStage": "

Updates a stage’s configuration.

" }, "shapes": { @@ -68,6 +73,12 @@ "Video$bitrate": "

Bitrate for generated output, in bps. Default: 2500000.

" } }, + "Boolean": { + "base": null, + "refs": { + "DeleteIngestConfigurationRequest$force": "

Optional field to force deletion of the IngestConfiguration. If this is set to true when a participant is actively publishing, the participant is disconnected from the stage, followed by deletion of the IngestConfiguration. Default: false.

" + } + }, "ChannelArn": { "base": null, "refs": { @@ -136,6 +147,16 @@ "refs": { } }, + "CreateIngestConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateIngestConfigurationResponse": { + "base": null, + "refs": { + } + }, "CreateParticipantTokenRequest": { "base": null, "refs": { @@ -176,6 +197,16 @@ "refs": { } }, + "DeleteIngestConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteIngestConfigurationResponse": { + "base": null, + "refs": { + } + }, "DeletePublicKeyRequest": { "base": null, "refs": { @@ -373,6 +404,16 @@ "refs": { } }, + "GetIngestConfigurationRequest": { + "base": null, + "refs": { + } + }, + "GetIngestConfigurationResponse": { + "base": null, + "refs": { + } + }, "GetParticipantRequest": { "base": null, "refs": { @@ -452,6 +493,75 @@ "refs": { } }, + "IngestConfiguration": { + "base": "

Object specifying an ingest configuration.

", + "refs": { + "CreateIngestConfigurationResponse$ingestConfiguration": "

The IngestConfiguration that was created.

", + "GetIngestConfigurationResponse$ingestConfiguration": "

The IngestConfiguration that was returned.

", + "UpdateIngestConfigurationResponse$ingestConfiguration": "

The updated IngestConfiguration.

" + } + }, + "IngestConfigurationArn": { + "base": null, + "refs": { + "DeleteIngestConfigurationRequest$arn": "

ARN of the IngestConfiguration.

", + "GetIngestConfigurationRequest$arn": "

ARN of the ingest for which the information is to be retrieved.

", + "IngestConfiguration$arn": "

Ingest configuration ARN.

", + "IngestConfigurationSummary$arn": "

Ingest configuration ARN.

", + "UpdateIngestConfigurationRequest$arn": "

ARN of the IngestConfiguration, for which the related stage ARN needs to be updated.

" + } + }, + "IngestConfigurationList": { + "base": null, + "refs": { + "ListIngestConfigurationsResponse$ingestConfigurations": "

List of the matching ingest configurations (summary information only).

" + } + }, + "IngestConfigurationName": { + "base": null, + "refs": { + "CreateIngestConfigurationRequest$name": "

Optional name that can be specified for the IngestConfiguration being created.

", + "IngestConfiguration$name": "

Ingest name

", + "IngestConfigurationSummary$name": "

Ingest name.

" + } + }, + "IngestConfigurationStageArn": { + "base": null, + "refs": { + "CreateIngestConfigurationRequest$stageArn": "

ARN of the stage with which the IngestConfiguration is associated.

", + "IngestConfiguration$stageArn": "

ARN of the stage with which the IngestConfiguration is associated.

", + "IngestConfigurationSummary$stageArn": "

ARN of the stage with which the IngestConfiguration is associated.

", + "UpdateIngestConfigurationRequest$stageArn": "

Stage ARN that needs to be updated.

" + } + }, + "IngestConfigurationState": { + "base": null, + "refs": { + "IngestConfiguration$state": "

State of the ingest configuration. It is ACTIVE if a publisher currently is publishing to the stage associated with the ingest configuration.

", + "IngestConfigurationSummary$state": "

State of the ingest configuration. It is ACTIVE if a publisher currently is publishing to the stage associated with the ingest configuration.

", + "ListIngestConfigurationsRequest$filterByState": "

Filters the response list to match the specified state. Only one filter (by stage ARN or by state) can be used at a time.

" + } + }, + "IngestConfigurationSummary": { + "base": "

Summary information about an IngestConfiguration.

", + "refs": { + "IngestConfigurationList$member": null + } + }, + "IngestProtocol": { + "base": null, + "refs": { + "CreateIngestConfigurationRequest$ingestProtocol": "

Type of ingest protocol that the user employs to broadcast. If this is set to RTMP, insecureIngest must be set to true.

", + "IngestConfiguration$ingestProtocol": "

Type of ingest protocol that the user employs for broadcasting.

", + "IngestConfigurationSummary$ingestProtocol": "

Type of ingest protocol that the user employs for broadcasting.

" + } + }, + "InsecureIngest": { + "base": null, + "refs": { + "CreateIngestConfigurationRequest$insecureIngest": "

Whether the stage allows insecure RTMP ingest. This must be set to true, if ingestProtocol is set to RTMP. Default: false.

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

", "refs": { @@ -484,6 +594,16 @@ "refs": { } }, + "ListIngestConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListIngestConfigurationsResponse": { + "base": null, + "refs": { + } + }, "ListParticipantEventsRequest": { "base": null, "refs": { @@ -566,6 +686,12 @@ "ListEncoderConfigurationsRequest$maxResults": "

Maximum number of results to return. Default: 100.

" } }, + "MaxIngestConfigurationResults": { + "base": null, + "refs": { + "ListIngestConfigurationsRequest$maxResults": "

Maximum number of results to return. Default: 50.

" + } + }, "MaxParticipantEventResults": { "base": null, "refs": { @@ -616,6 +742,8 @@ "ListCompositionsResponse$nextToken": "

If there are more compositions than maxResults, use nextToken in the request to get the next set.

", "ListEncoderConfigurationsRequest$nextToken": "

The first encoder configuration to retrieve. This is used for pagination; see the nextToken response field.

", "ListEncoderConfigurationsResponse$nextToken": "

If there are more encoder configurations than maxResults, use nextToken in the request to get the next set.

", + "ListIngestConfigurationsRequest$nextToken": "

The first IngestConfiguration to retrieve. This is used for pagination; see the nextToken response field.

", + "ListIngestConfigurationsResponse$nextToken": "

If there are more IngestConfigurations than maxResults, use nextToken in the request to get the next set.

", "ListParticipantEventsRequest$nextToken": "

The first participant event to retrieve. This is used for pagination; see the nextToken response field.

", "ListParticipantEventsResponse$nextToken": "

If there are more events than maxResults, use nextToken in the request to get the next set.

", "ListParticipantsRequest$nextToken": "

The first participant to retrieve. This is used for pagination; see the nextToken response field.

", @@ -639,6 +767,8 @@ "ParticipantAttributes": { "base": null, "refs": { + "CreateIngestConfigurationRequest$attributes": "

Application-provided attributes to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

", + "IngestConfiguration$attributes": "

Application-provided attributes to to store in the IngestConfiguration and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

", "Participant$attributes": "

Application-provided attributes to encode into the token and attach to a stage. Map keys and values can contain UTF-8 encoded text. The maximum length of this field is 1 KB total. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

" } }, @@ -659,6 +789,8 @@ "Event$participantId": "

Unique identifier for the participant who triggered the event. This is assigned by IVS.

", "Event$remoteParticipantId": "

Unique identifier for the remote participant. For a subscribe event, this is the publisher. For a publish or join event, this is null. This is assigned by IVS.

", "GetParticipantRequest$participantId": "

Unique identifier for the participant. This is assigned by IVS and returned by CreateParticipantToken.

", + "IngestConfiguration$participantId": "

ID of the participant within the stage.

", + "IngestConfigurationSummary$participantId": "

ID of the participant within the stage.

", "ListParticipantEventsRequest$participantId": "

Unique identifier for this participant. This is assigned by IVS and returned by CreateParticipantToken.

", "Participant$participantId": "

Unique identifier for this participant, assigned by IVS.

", "ParticipantSummary$participantId": "

Unique identifier for this participant, assigned by IVS.

" @@ -670,6 +802,12 @@ "ListParticipantsResponse$participants": "

List of the matching participants (summary information only).

" } }, + "ParticipantProtocol": { + "base": null, + "refs": { + "Participant$protocol": "

Type of ingest protocol that the participant employs for broadcasting.

" + } + }, "ParticipantRecordingFilterByRecordingState": { "base": null, "refs": { @@ -779,7 +917,7 @@ "ParticipantTokenId": { "base": null, "refs": { - "DisconnectParticipantRequest$participantId": "

Identifier of the participant to be disconnected. This is assigned by IVS and returned by CreateParticipantToken.

", + "DisconnectParticipantRequest$participantId": "

Identifier of the participant to be disconnected. IVS assigns this; it is returned by CreateParticipantToken (for streams using WebRTC ingest) or CreateIngestConfiguration (for streams using RTMP ingest).

", "ParticipantToken$participantId": "

Unique identifier for this participant token, assigned by IVS.

" } }, @@ -977,6 +1115,7 @@ "GetStageRequest$arn": "

ARN of the stage for which the information is to be retrieved.

", "GetStageSessionRequest$stageArn": "

ARN of the stage for which the information is to be retrieved.

", "ListCompositionsRequest$filterByStageArn": "

Filters the Composition list to match the specified Stage ARN.

", + "ListIngestConfigurationsRequest$filterByStageArn": "

Filters the response list to match the specified stage ARN. Only one filter (by stage ARN or by state) can be used at a time.

", "ListParticipantEventsRequest$stageArn": "

Stage ARN.

", "ListParticipantsRequest$stageArn": "

Stage ARN.

", "ListStageSessionsRequest$stageArn": "

Stage ARN.

", @@ -990,11 +1129,13 @@ "base": null, "refs": { "StageEndpoints$events": "

Events endpoint.

", - "StageEndpoints$whip": "

WHIP endpoint.

" + "StageEndpoints$whip": "

The endpoint to be used for IVS real-time streaming using the WHIP protocol.

", + "StageEndpoints$rtmp": "

The endpoint to be used for IVS real-time streaming using the RTMP protocol.

", + "StageEndpoints$rtmps": "

The endpoint to be used for IVS real-time streaming using the RTMPS protocol.

" } }, "StageEndpoints": { - "base": "

Summary information about various endpoints for a stage.

", + "base": "

Summary information about various endpoints for a stage. We recommend that you cache these values at stage creation; the values can be cached for up to 14 days.

", "refs": { "Stage$endpoints": "

Summary information about various endpoints for a stage.

" } @@ -1108,6 +1249,12 @@ "ListStorageConfigurationsResponse$storageConfigurations": "

List of the matching storage configurations.

" } }, + "StreamKey": { + "base": null, + "refs": { + "IngestConfiguration$streamKey": "

Ingest-key value for the RTMP(S) protocol.

" + } + }, "String": { "base": null, "refs": { @@ -1130,7 +1277,7 @@ "TagKeyList": { "base": null, "refs": { - "UntagResourceRequest$tagKeys": "

Array of tags to be removed. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints beyond what is documented there.

" + "UntagResourceRequest$tagKeys": "

Array of tags to be removed. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

" } }, "TagResourceRequest": { @@ -1152,23 +1299,25 @@ "Tags": { "base": null, "refs": { - "Composition$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "CompositionSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "CreateEncoderConfigurationRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "CreateStageRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "CreateStorageConfigurationRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "EncoderConfiguration$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "EncoderConfigurationSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "ImportPublicKeyRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "Composition$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "CompositionSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "CreateEncoderConfigurationRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "CreateIngestConfigurationRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "CreateStageRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "CreateStorageConfigurationRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "EncoderConfiguration$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "EncoderConfigurationSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "ImportPublicKeyRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "IngestConfiguration$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", "ListTagsForResourceResponse$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value).

", - "PublicKey$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "PublicKeySummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "Stage$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "StageSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "StartCompositionRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "StorageConfiguration$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "StorageConfigurationSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", - "TagResourceRequest$tags": "

Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Tagging AWS Resources for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints beyond what is documented there.

" + "PublicKey$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "PublicKeySummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "Stage$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "StageSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "StartCompositionRequest$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "StorageConfiguration$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "StorageConfigurationSummary$tags": "

Tags attached to the resource. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

", + "TagResourceRequest$tags": "

Array of tags to be added or updated. Array of maps, each of the form string:string (key:value). See Best practices and strategies in Tagging AWS Resources and Tag Editor for details, including restrictions that apply to tags and \"Tag naming limits and requirements\"; Amazon IVS has no constraints on tags beyond what is documented there.

" } }, "Time": { @@ -1201,6 +1350,16 @@ "refs": { } }, + "UpdateIngestConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateIngestConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateStageRequest": { "base": null, "refs": { @@ -1214,6 +1373,9 @@ "UserId": { "base": null, "refs": { + "CreateIngestConfigurationRequest$userId": "

Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

", + "IngestConfiguration$userId": "

Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

", + "IngestConfigurationSummary$userId": "

Customer-assigned name to help identify the participant using the IngestConfiguration; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

", "ListParticipantsRequest$filterByUserId": "

Filters the response list to match the specified user ID. Only one of filterByUserId, filterByPublished, filterByState, or filterByRecordingState can be provided per request. A userId is a customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems.

", "Participant$userId": "

Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

", "ParticipantSummary$userId": "

Customer-assigned name to help identify the token; this can be used to link a participant to a user in the customer’s own systems. This can be any UTF-8 encoded text. This field is exposed to all stage participants and should not be used for personally identifying, confidential, or sensitive information.

" diff --git a/apis/ivs-realtime/2020-07-14/paginators-1.json b/apis/ivs-realtime/2020-07-14/paginators-1.json index f8e81fa57e5..309300d0e94 100644 --- a/apis/ivs-realtime/2020-07-14/paginators-1.json +++ b/apis/ivs-realtime/2020-07-14/paginators-1.json @@ -10,6 +10,12 @@ "output_token": "nextToken", "limit_key": "maxResults" }, + "ListIngestConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "ingestConfigurations" + }, "ListParticipantEvents": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/apis/kafka/2018-11-14/api-2.json b/apis/kafka/2018-11-14/api-2.json index fb923ea419d..0f122880f1f 100644 --- a/apis/kafka/2018-11-14/api-2.json +++ b/apis/kafka/2018-11-14/api-2.json @@ -9,37 +9,48 @@ "protocol": "rest-json", "jsonVersion": "1.1", "uid": "kafka-2018-11-14", - "signatureVersion": "v4" + "signatureVersion": "v4", + "auth": [ + "aws.auth#sigv4" + ] }, "operations": { - "BatchAssociateScramSecret" : { - "name" : "BatchAssociateScramSecret", - "http" : { - "method" : "POST", - "requestUri" : "/v1/clusters/{clusterArn}/scram-secrets", - "responseCode" : 200 - }, - "input" : { - "shape" : "BatchAssociateScramSecretRequest" - }, - "output" : { - "shape" : "BatchAssociateScramSecretResponse" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] + "BatchAssociateScramSecret": { + "name": "BatchAssociateScramSecret", + "http": { + "method": "POST", + "requestUri": "/v1/clusters/{clusterArn}/scram-secrets", + "responseCode": 200 + }, + "input": { + "shape": "BatchAssociateScramSecretRequest" + }, + "output": { + "shape": "BatchAssociateScramSecretResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] }, "CreateCluster": { "name": "CreateCluster", @@ -300,7 +311,7 @@ }, "errors": [ { - "shape": "BadRequestException" + "shape": "BadRequestException" }, { "shape": "UnauthorizedException" @@ -443,34 +454,42 @@ } ] }, - "DescribeClusterOperationV2" : { - "name" : "DescribeClusterOperationV2", - "http" : { - "method" : "GET", - "requestUri" : "/api/v2/operations/{clusterOperationArn}", - "responseCode" : 200 - }, - "input" : { - "shape" : "DescribeClusterOperationV2Request" - }, - "output" : { - "shape" : "DescribeClusterOperationV2Response" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] + "DescribeClusterOperationV2": { + "name": "DescribeClusterOperationV2", + "http": { + "method": "GET", + "requestUri": "/api/v2/operations/{clusterOperationArn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeClusterOperationV2Request" + }, + "output": { + "shape": "DescribeClusterOperationV2Response" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] }, "DescribeConfiguration": { "name": "DescribeConfiguration", @@ -611,34 +630,42 @@ } ] }, - "BatchDisassociateScramSecret" : { - "name" : "BatchDisassociateScramSecret", - "http" : { - "method" : "PATCH", - "requestUri" : "/v1/clusters/{clusterArn}/scram-secrets", - "responseCode" : 200 - }, - "input" : { - "shape" : "BatchDisassociateScramSecretRequest" - }, - "output" : { - "shape" : "BatchDisassociateScramSecretResponse" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] + "BatchDisassociateScramSecret": { + "name": "BatchDisassociateScramSecret", + "http": { + "method": "PATCH", + "requestUri": "/v1/clusters/{clusterArn}/scram-secrets", + "responseCode": 200 + }, + "input": { + "shape": "BatchDisassociateScramSecretRequest" + }, + "output": { + "shape": "BatchDisassociateScramSecretResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] }, "GetBootstrapBrokers": { "name": "GetBootstrapBrokers", @@ -671,40 +698,40 @@ } ] }, - "GetCompatibleKafkaVersions" : { - "name" : "GetCompatibleKafkaVersions", - "http" : { - "method" : "GET", - "requestUri" : "/v1/compatible-kafka-versions", - "responseCode" : 200 + "GetCompatibleKafkaVersions": { + "name": "GetCompatibleKafkaVersions", + "http": { + "method": "GET", + "requestUri": "/v1/compatible-kafka-versions", + "responseCode": 200 }, - "input" : { - "shape" : "GetCompatibleKafkaVersionsRequest" + "input": { + "shape": "GetCompatibleKafkaVersionsRequest" }, - "output" : { - "shape" : "GetCompatibleKafkaVersionsResponse" + "output": { + "shape": "GetCompatibleKafkaVersionsResponse" }, - "errors" : [ + "errors": [ { - "shape" : "BadRequestException" + "shape": "BadRequestException" }, { - "shape" : "UnauthorizedException" + "shape": "UnauthorizedException" }, { - "shape" : "InternalServerErrorException" + "shape": "InternalServerErrorException" }, { - "shape" : "ForbiddenException" + "shape": "ForbiddenException" }, { - "shape" : "NotFoundException" + "shape": "NotFoundException" }, { - "shape" : "ServiceUnavailableException" + "shape": "ServiceUnavailableException" }, { - "shape" : "TooManyRequestsException" + "shape": "TooManyRequestsException" } ] }, @@ -736,34 +763,42 @@ } ] }, - "ListClusterOperationsV2" : { - "name" : "ListClusterOperationsV2", - "http" : { - "method" : "GET", - "requestUri" : "/api/v2/clusters/{clusterArn}/operations", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListClusterOperationsV2Request" - }, - "output" : { - "shape" : "ListClusterOperationsV2Response" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] + "ListClusterOperationsV2": { + "name": "ListClusterOperationsV2", + "http": { + "method": "GET", + "requestUri": "/api/v2/clusters/{clusterArn}/operations", + "responseCode": 200 + }, + "input": { + "shape": "ListClusterOperationsV2Request" + }, + "output": { + "shape": "ListClusterOperationsV2Response" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] }, "ListClusters": { "name": "ListClusters", @@ -979,34 +1014,42 @@ } ] }, - "ListScramSecrets" : { - "name" : "ListScramSecrets", - "http" : { - "method" : "GET", - "requestUri" : "/v1/clusters/{clusterArn}/scram-secrets", - "responseCode" : 200 - }, - "input" : { - "shape" : "ListScramSecretsRequest" - }, - "output" : { - "shape" : "ListScramSecretsResponse" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] + "ListScramSecrets": { + "name": "ListScramSecrets", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}/scram-secrets", + "responseCode": 200 + }, + "input": { + "shape": "ListScramSecretsRequest" + }, + "output": { + "shape": "ListScramSecretsResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] }, "ListTagsForResource": { "name": "ListTagsForResource", @@ -1147,7 +1190,7 @@ "shape": "BadRequestException" }, { - "shape" : "UnauthorizedException" + "shape": "UnauthorizedException" }, { "shape": "InternalServerErrorException" @@ -1178,7 +1221,7 @@ "shape": "BadRequestException" }, { - "shape" : "UnauthorizedException" + "shape": "UnauthorizedException" }, { "shape": "InternalServerErrorException" @@ -1209,7 +1252,7 @@ "shape": "BadRequestException" }, { - "shape" : "UnauthorizedException" + "shape": "UnauthorizedException" }, { "shape": "InternalServerErrorException" @@ -1464,104 +1507,110 @@ } ] }, - "UpdateClusterKafkaVersion" : { - "name" : "UpdateClusterKafkaVersion", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/clusters/{clusterArn}/version", - "responseCode" : 200 + "UpdateClusterKafkaVersion": { + "name": "UpdateClusterKafkaVersion", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/version", + "responseCode": 200 }, - "input" : { - "shape" : "UpdateClusterKafkaVersionRequest" + "input": { + "shape": "UpdateClusterKafkaVersionRequest" }, - "output" : { - "shape" : "UpdateClusterKafkaVersionResponse" + "output": { + "shape": "UpdateClusterKafkaVersionResponse" }, - "errors" : [ + "errors": [ { - "shape" : "BadRequestException" + "shape": "BadRequestException" }, { - "shape" : "UnauthorizedException" + "shape": "UnauthorizedException" }, { - "shape" : "InternalServerErrorException" + "shape": "InternalServerErrorException" }, { - "shape" : "ForbiddenException" + "shape": "ForbiddenException" }, { - "shape" : "NotFoundException" + "shape": "NotFoundException" }, { - "shape" : "ServiceUnavailableException" + "shape": "ServiceUnavailableException" }, { - "shape" : "TooManyRequestsException" + "shape": "TooManyRequestsException" } ] }, - "UpdateConnectivity":{ - "name":"UpdateConnectivity", - "http":{ - "method":"PUT", - "requestUri":"/v1/clusters/{clusterArn}/connectivity", - "responseCode":200 + "UpdateConnectivity": { + "name": "UpdateConnectivity", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/connectivity", + "responseCode": 200 }, - "input":{ - "shape":"UpdateConnectivityRequest" + "input": { + "shape": "UpdateConnectivityRequest" }, - "output":{ - "shape":"UpdateConnectivityResponse" + "output": { + "shape": "UpdateConnectivityResponse" }, - "errors":[ + "errors": [ { - "shape":"BadRequestException" + "shape": "BadRequestException" }, { - "shape":"UnauthorizedException" + "shape": "UnauthorizedException" }, { - "shape":"InternalServerErrorException" + "shape": "InternalServerErrorException" }, { - "shape":"ForbiddenException" + "shape": "ForbiddenException" }, { - "shape":"NotFoundException" + "shape": "NotFoundException" }, { - "shape":"ServiceUnavailableException" + "shape": "ServiceUnavailableException" }, { - "shape":"TooManyRequestsException" + "shape": "TooManyRequestsException" } ] }, - "UpdateMonitoring" : { - "name" : "UpdateMonitoring", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/clusters/{clusterArn}/monitoring", - "responseCode" : 200 + "UpdateMonitoring": { + "name": "UpdateMonitoring", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/monitoring", + "responseCode": 200 }, - "input" : { - "shape" : "UpdateMonitoringRequest" + "input": { + "shape": "UpdateMonitoringRequest" }, - "output" : { - "shape" : "UpdateMonitoringResponse" + "output": { + "shape": "UpdateMonitoringResponse" }, - "errors" : [ { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - } ] + "errors": [ + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] }, "UpdateReplicationInfo": { "name": "UpdateReplicationInfo", @@ -1600,115 +1649,136 @@ } ] }, - "UpdateSecurity" : { - "name" : "UpdateSecurity", - "http" : { - "method" : "PATCH", - "requestUri" : "/v1/clusters/{clusterArn}/security", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateSecurityRequest" - }, - "output" : { - "shape" : "UpdateSecurityResponse" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] - }, - "UpdateStorage" : { - "name" : "UpdateStorage", - "http" : { - "method" : "PUT", - "requestUri" : "/v1/clusters/{clusterArn}/storage", - "responseCode" : 200 - }, - "input" : { - "shape" : "UpdateStorageRequest" - }, - "output" : { - "shape" : "UpdateStorageResponse" - }, - "errors" : [ { - "shape" : "BadRequestException" - }, { - "shape" : "UnauthorizedException" - }, { - "shape" : "InternalServerErrorException" - }, { - "shape" : "ForbiddenException" - }, { - "shape" : "NotFoundException" - }, { - "shape" : "ServiceUnavailableException" - }, { - "shape" : "TooManyRequestsException" - } ] - } - }, - "shapes": { - "AmazonMskCluster": { - "type": "structure", - "members": { - "MskClusterArn": { - "shape": "__string", - "locationName": "mskClusterArn" - } + "UpdateSecurity": { + "name": "UpdateSecurity", + "http": { + "method": "PATCH", + "requestUri": "/v1/clusters/{clusterArn}/security", + "responseCode": 200 }, - "required": ["MskClusterArn"] - }, - "BatchAssociateScramSecretRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" - }, - "SecretArnList" : { - "shape" : "__listOf__string", - "locationName" : "secretArnList" - } + "input": { + "shape": "UpdateSecurityRequest" }, - "required" : [ "ClusterArn", "SecretArnList" ] - }, - "BatchAssociateScramSecretResponse" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "output": { + "shape": "UpdateSecurityResponse" + }, + "errors": [ + { + "shape": "BadRequestException" }, - "UnprocessedScramSecrets" : { - "shape" : "__listOfUnprocessedScramSecret", - "locationName" : "unprocessedScramSecrets" - } - } - }, - "BadRequestException": { - "type": "structure", - "members": { - "InvalidParameter": { - "shape": "__string", - "locationName": "invalidParameter" + { + "shape": "UnauthorizedException" }, - "Message": { - "shape": "__string", - "locationName": "message" - } + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, + "UpdateStorage": { + "name": "UpdateStorage", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/storage", + "responseCode": 200 + }, + "input": { + "shape": "UpdateStorageRequest" + }, + "output": { + "shape": "UpdateStorageResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] + } + }, + "shapes": { + "AmazonMskCluster": { + "type": "structure", + "members": { + "MskClusterArn": { + "shape": "__string", + "locationName": "mskClusterArn" + } + }, + "required": [ + "MskClusterArn" + ] + }, + "BatchAssociateScramSecretRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + }, + "SecretArnList": { + "shape": "__listOf__string", + "locationName": "secretArnList" + } + }, + "required": [ + "ClusterArn", + "SecretArnList" + ] + }, + "BatchAssociateScramSecretResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" + }, + "UnprocessedScramSecrets": { + "shape": "__listOfUnprocessedScramSecret", + "locationName": "unprocessedScramSecrets" + } + } + }, + "BadRequestException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter" + }, + "Message": { + "shape": "__string", + "locationName": "message" + } }, "exception": true, "error": { @@ -1728,9 +1798,9 @@ "shape": "__string", "locationName": "kafkaBrokerNodeId" }, - "ProvisionedThroughput" : { - "shape" : "ProvisionedThroughput", - "locationName" : "provisionedThroughput" + "ProvisionedThroughput": { + "shape": "ProvisionedThroughput", + "locationName": "provisionedThroughput" }, "VolumeSizeGB": { "shape": "__integer", @@ -1741,20 +1811,20 @@ "KafkaBrokerNodeId" ] }, - "BrokerLogs" : { - "type" : "structure", - "members" : { - "CloudWatchLogs" : { - "shape" : "CloudWatchLogs", - "locationName" : "cloudWatchLogs" + "BrokerLogs": { + "type": "structure", + "members": { + "CloudWatchLogs": { + "shape": "CloudWatchLogs", + "locationName": "cloudWatchLogs" }, - "Firehose" : { - "shape" : "Firehose", - "locationName" : "firehose" + "Firehose": { + "shape": "Firehose", + "locationName": "firehose" }, - "S3" : { - "shape" : "S3", - "locationName" : "s3" + "S3": { + "shape": "S3", + "locationName": "s3" } } }, @@ -1781,9 +1851,9 @@ "shape": "StorageInfo", "locationName": "storageInfo" }, - "ConnectivityInfo":{ - "shape":"ConnectivityInfo", - "locationName":"connectivityInfo" + "ConnectivityInfo": { + "shape": "ConnectivityInfo", + "locationName": "connectivityInfo" }, "ZoneIds": { "shape": "__listOf__string", @@ -1841,33 +1911,33 @@ } } }, - "ClientAuthentication" : { - "type" : "structure", - "members" : { - "Sasl" : { - "shape" : "Sasl", - "locationName" : "sasl" + "ClientAuthentication": { + "type": "structure", + "members": { + "Sasl": { + "shape": "Sasl", + "locationName": "sasl" }, - "Tls" : { - "shape" : "Tls", - "locationName" : "tls" + "Tls": { + "shape": "Tls", + "locationName": "tls" }, - "Unauthenticated" : { - "shape" : "Unauthenticated", - "locationName" : "unauthenticated" + "Unauthenticated": { + "shape": "Unauthenticated", + "locationName": "unauthenticated" } } }, - "VpcConnectivityClientAuthentication" : { - "type" : "structure", - "members" : { - "Sasl" : { - "shape" : "VpcConnectivitySasl", - "locationName" : "sasl" + "VpcConnectivityClientAuthentication": { + "type": "structure", + "members": { + "Sasl": { + "shape": "VpcConnectivitySasl", + "locationName": "sasl" }, - "Tls" : { - "shape" : "VpcConnectivityTls", - "locationName" : "tls" + "Tls": { + "shape": "VpcConnectivityTls", + "locationName": "tls" } } }, @@ -1879,19 +1949,21 @@ "PLAINTEXT" ] }, - "CloudWatchLogs" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "CloudWatchLogs": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" }, - "LogGroup" : { - "shape" : "__string", - "locationName" : "logGroup" + "LogGroup": { + "shape": "__string", + "locationName": "logGroup" } }, - "required" : [ "Enabled" ] + "required": [ + "Enabled" + ] }, "ClusterInfo": { "type": "structure", @@ -1944,9 +2016,9 @@ "shape": "__integer", "locationName": "numberOfBrokerNodes" }, - "OpenMonitoring" : { - "shape" : "OpenMonitoring", - "locationName" : "openMonitoring" + "OpenMonitoring": { + "shape": "OpenMonitoring", + "locationName": "openMonitoring" }, "State": { "shape": "ClusterState", @@ -1964,13 +2036,13 @@ "shape": "__string", "locationName": "zookeeperConnectString" }, - "ZookeeperConnectStringTls" : { - "shape" : "__string", - "locationName" : "zookeeperConnectStringTls" + "ZookeeperConnectStringTls": { + "shape": "__string", + "locationName": "zookeeperConnectStringTls" }, - "StorageMode" : { - "shape" : "StorageMode", - "locationName" : "storageMode" + "StorageMode": { + "shape": "StorageMode", + "locationName": "storageMode" }, "CustomerActionStatus": { "shape": "CustomerActionStatus", @@ -2031,129 +2103,129 @@ } } }, - "ClusterOperationStep" : { - "type" : "structure", - "members" : { - "StepInfo" : { - "shape" : "ClusterOperationStepInfo", - "locationName" : "stepInfo" + "ClusterOperationStep": { + "type": "structure", + "members": { + "StepInfo": { + "shape": "ClusterOperationStepInfo", + "locationName": "stepInfo" }, - "StepName" : { - "shape" : "__string", - "locationName" : "stepName" + "StepName": { + "shape": "__string", + "locationName": "stepName" } } }, - "ClusterOperationStepInfo" : { - "type" : "structure", - "members" : { - "StepStatus" : { - "shape" : "__string", - "locationName" : "stepStatus" + "ClusterOperationStepInfo": { + "type": "structure", + "members": { + "StepStatus": { + "shape": "__string", + "locationName": "stepStatus" } } }, - "ClusterOperationV2" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "ClusterOperationV2": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterType" : { - "shape" : "ClusterType", - "locationName" : "clusterType" + "ClusterType": { + "shape": "ClusterType", + "locationName": "clusterType" }, - "StartTime" : { - "shape" : "__timestampIso8601", - "locationName" : "startTime" + "StartTime": { + "shape": "__timestampIso8601", + "locationName": "startTime" }, - "EndTime" : { - "shape" : "__timestampIso8601", - "locationName" : "endTime" + "EndTime": { + "shape": "__timestampIso8601", + "locationName": "endTime" }, - "OperationArn" : { - "shape" : "__string", - "locationName" : "operationArn" + "OperationArn": { + "shape": "__string", + "locationName": "operationArn" }, - "OperationState" : { - "shape" : "__string", - "locationName" : "operationState" + "OperationState": { + "shape": "__string", + "locationName": "operationState" }, - "OperationType" : { - "shape" : "__string", - "locationName" : "operationType" + "OperationType": { + "shape": "__string", + "locationName": "operationType" }, - "Provisioned" : { - "shape" : "ClusterOperationV2Provisioned", - "locationName" : "provisioned" + "Provisioned": { + "shape": "ClusterOperationV2Provisioned", + "locationName": "provisioned" }, - "Serverless" : { - "shape" : "ClusterOperationV2Serverless", - "locationName" : "serverless" + "Serverless": { + "shape": "ClusterOperationV2Serverless", + "locationName": "serverless" } } }, - "ClusterOperationV2Provisioned" : { - "type" : "structure", - "members" : { - "OperationSteps" : { - "shape" : "__listOfClusterOperationStep", - "locationName" : "operationSteps" + "ClusterOperationV2Provisioned": { + "type": "structure", + "members": { + "OperationSteps": { + "shape": "__listOfClusterOperationStep", + "locationName": "operationSteps" }, - "SourceClusterInfo" : { - "shape" : "MutableClusterInfo", - "locationName" : "sourceClusterInfo" + "SourceClusterInfo": { + "shape": "MutableClusterInfo", + "locationName": "sourceClusterInfo" }, - "TargetClusterInfo" : { - "shape" : "MutableClusterInfo", - "locationName" : "targetClusterInfo" + "TargetClusterInfo": { + "shape": "MutableClusterInfo", + "locationName": "targetClusterInfo" }, - "VpcConnectionInfo" : { - "shape" : "VpcConnectionInfo", - "locationName" : "vpcConnectionInfo" + "VpcConnectionInfo": { + "shape": "VpcConnectionInfo", + "locationName": "vpcConnectionInfo" } } }, - "ClusterOperationV2Serverless" : { - "type" : "structure", - "members" : { - "VpcConnectionInfo" : { - "shape" : "VpcConnectionInfoServerless", - "locationName" : "vpcConnectionInfo" + "ClusterOperationV2Serverless": { + "type": "structure", + "members": { + "VpcConnectionInfo": { + "shape": "VpcConnectionInfoServerless", + "locationName": "vpcConnectionInfo" } } }, - "ClusterOperationV2Summary" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "ClusterOperationV2Summary": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterType" : { - "shape" : "ClusterType", - "locationName" : "clusterType" + "ClusterType": { + "shape": "ClusterType", + "locationName": "clusterType" }, - "StartTime" : { - "shape" : "__timestampIso8601", - "locationName" : "startTime" + "StartTime": { + "shape": "__timestampIso8601", + "locationName": "startTime" }, - "EndTime" : { - "shape" : "__timestampIso8601", - "locationName" : "endTime" + "EndTime": { + "shape": "__timestampIso8601", + "locationName": "endTime" }, - "OperationArn" : { - "shape" : "__string", - "locationName" : "operationArn" + "OperationArn": { + "shape": "__string", + "locationName": "operationArn" }, - "OperationState" : { - "shape" : "__string", - "locationName" : "operationState" + "OperationState": { + "shape": "__string", + "locationName": "operationState" }, - "OperationType" : { - "shape" : "__string", - "locationName" : "operationType" + "OperationType": { + "shape": "__string", + "locationName": "operationType" } } }, @@ -2231,16 +2303,16 @@ "TargetClusterArn" ] }, - "CompatibleKafkaVersion" : { - "type" : "structure", - "members" : { - "SourceVersion" : { - "shape" : "__string", - "locationName" : "sourceVersion" + "CompatibleKafkaVersion": { + "type": "structure", + "members": { + "SourceVersion": { + "shape": "__string", + "locationName": "sourceVersion" }, - "TargetVersions" : { - "shape" : "__listOf__string", - "locationName" : "targetVersions" + "TargetVersions": { + "shape": "__listOf__string", + "locationName": "targetVersions" } } }, @@ -2349,29 +2421,29 @@ "httpStatusCode": 409 } }, - "ConnectivityInfo":{ - "type":"structure", - "members":{ - "PublicAccess":{ - "shape":"PublicAccess", - "locationName":"publicAccess" + "ConnectivityInfo": { + "type": "structure", + "members": { + "PublicAccess": { + "shape": "PublicAccess", + "locationName": "publicAccess" }, "VpcConnectivity": { - "shape":"VpcConnectivity", - "locationName":"vpcConnectivity" + "shape": "VpcConnectivity", + "locationName": "vpcConnectivity" } } }, - "BrokerCountUpdateInfo" : { - "type" : "structure", - "members" : { - "CreatedBrokerIds" : { - "shape" : "__listOf__double", - "locationName" : "createdBrokerIds" + "BrokerCountUpdateInfo": { + "type": "structure", + "members": { + "CreatedBrokerIds": { + "shape": "__listOf__double", + "locationName": "createdBrokerIds" }, - "DeletedBrokerIds" : { - "shape" : "__listOf__double", - "locationName" : "deletedBrokerIds" + "DeletedBrokerIds": { + "shape": "__listOf__double", + "locationName": "deletedBrokerIds" } } }, @@ -2395,7 +2467,9 @@ "locationName": "synchroniseConsumerGroupOffsets" } }, - "required": ["ConsumerGroupsToReplicate"] + "required": [ + "ConsumerGroupsToReplicate" + ] }, "ConsumerGroupReplicationUpdate": { "type": "structure", @@ -2417,7 +2491,12 @@ "locationName": "synchroniseConsumerGroupOffsets" } }, - "required": ["ConsumerGroupsToReplicate", "ConsumerGroupsToExclude", "SynchroniseConsumerGroupOffsets", "DetectAndCopyNewConsumerGroups"] + "required": [ + "ConsumerGroupsToReplicate", + "ConsumerGroupsToExclude", + "SynchroniseConsumerGroupOffsets", + "DetectAndCopyNewConsumerGroups" + ] }, "CreateClusterRequest": { "type": "structure", @@ -2458,17 +2537,17 @@ "shape": "__integerMin1Max15", "locationName": "numberOfBrokerNodes" }, - "OpenMonitoring" : { - "shape" : "OpenMonitoringInfo", - "locationName" : "openMonitoring" + "OpenMonitoring": { + "shape": "OpenMonitoringInfo", + "locationName": "openMonitoring" }, "Tags": { "shape": "__mapOf__string", "locationName": "tags" }, - "StorageMode" : { - "shape" : "StorageMode", - "locationName" : "storageMode" + "StorageMode": { + "shape": "StorageMode", + "locationName": "storageMode" } }, "required": [ @@ -2573,7 +2652,12 @@ "locationName": "tags" } }, - "required": ["ServiceExecutionRoleArn", "ReplicatorName", "ReplicationInfoList", "KafkaClusters"] + "required": [ + "ServiceExecutionRoleArn", + "ReplicatorName", + "ReplicationInfoList", + "KafkaClusters" + ] }, "CreateReplicatorResponse": { "type": "structure", @@ -2738,7 +2822,9 @@ "locationName": "replicatorArn" } }, - "required": ["ReplicatorArn"] + "required": [ + "ReplicatorArn" + ] }, "DeleteReplicatorResponse": { "type": "structure", @@ -2792,16 +2878,18 @@ "ClusterOperationArn" ] }, - "DescribeClusterOperationV2Request" : { - "type" : "structure", - "members" : { - "ClusterOperationArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterOperationArn" + "DescribeClusterOperationV2Request": { + "type": "structure", + "members": { + "ClusterOperationArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterOperationArn" } }, - "required" : [ "ClusterOperationArn" ] + "required": [ + "ClusterOperationArn" + ] }, "DescribeClusterOperationResponse": { "type": "structure", @@ -2812,12 +2900,12 @@ } } }, - "DescribeClusterOperationV2Response" : { - "type" : "structure", - "members" : { - "ClusterOperationInfo" : { - "shape" : "ClusterOperationV2", - "locationName" : "clusterOperationInfo" + "DescribeClusterOperationV2Response": { + "type": "structure", + "members": { + "ClusterOperationInfo": { + "shape": "ClusterOperationV2", + "locationName": "clusterOperationInfo" } } }, @@ -2942,7 +3030,9 @@ "locationName": "replicatorArn" } }, - "required": ["ReplicatorArn"] + "required": [ + "ReplicatorArn" + ] }, "DescribeReplicatorResponse": { "type": "structure", @@ -3056,40 +3146,43 @@ } } }, - "BatchDisassociateScramSecretRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "BatchDisassociateScramSecretRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "SecretArnList" : { - "shape" : "__listOf__string", - "locationName" : "secretArnList" + "SecretArnList": { + "shape": "__listOf__string", + "locationName": "secretArnList" } }, - "required" : [ "ClusterArn", "SecretArnList" ] + "required": [ + "ClusterArn", + "SecretArnList" + ] }, - "BatchDisassociateScramSecretResponse" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "BatchDisassociateScramSecretResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "UnprocessedScramSecrets" : { - "shape" : "__listOfUnprocessedScramSecret", - "locationName" : "unprocessedScramSecrets" + "UnprocessedScramSecrets": { + "shape": "__listOfUnprocessedScramSecret", + "locationName": "unprocessedScramSecrets" } } }, "EBSStorageInfo": { "type": "structure", "members": { - "ProvisionedThroughput" : { - "shape" : "ProvisionedThroughput", - "locationName" : "provisionedThroughput" + "ProvisionedThroughput": { + "shape": "ProvisionedThroughput", + "locationName": "provisionedThroughput" }, "VolumeSize": { "shape": "__integerMin1Max16384", @@ -3157,19 +3250,21 @@ } } }, - "Firehose" : { - "type" : "structure", - "members" : { - "DeliveryStream" : { - "shape" : "__string", - "locationName" : "deliveryStream" + "Firehose": { + "type": "structure", + "members": { + "DeliveryStream": { + "shape": "__string", + "locationName": "deliveryStream" }, - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } }, - "required" : [ "Enabled" ] + "required": [ + "Enabled" + ] }, "ErrorInfo": { "type": "structure", @@ -3221,17 +3316,17 @@ "shape": "__string", "locationName": "bootstrapBrokerString" }, - "BootstrapBrokerStringPublicSaslIam" : { - "shape" : "__string", - "locationName" : "bootstrapBrokerStringPublicSaslIam" + "BootstrapBrokerStringPublicSaslIam": { + "shape": "__string", + "locationName": "bootstrapBrokerStringPublicSaslIam" }, - "BootstrapBrokerStringPublicSaslScram" : { - "shape" : "__string", - "locationName" : "bootstrapBrokerStringPublicSaslScram" + "BootstrapBrokerStringPublicSaslScram": { + "shape": "__string", + "locationName": "bootstrapBrokerStringPublicSaslScram" }, - "BootstrapBrokerStringPublicTls" : { - "shape" : "__string", - "locationName" : "bootstrapBrokerStringPublicTls" + "BootstrapBrokerStringPublicTls": { + "shape": "__string", + "locationName": "bootstrapBrokerStringPublicTls" }, "BootstrapBrokerStringTls": { "shape": "__string", @@ -3259,22 +3354,22 @@ } } }, - "GetCompatibleKafkaVersionsRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "clusterArn" + "GetCompatibleKafkaVersionsRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "querystring", + "locationName": "clusterArn" } } }, - "GetCompatibleKafkaVersionsResponse" : { - "type" : "structure", - "members" : { - "CompatibleKafkaVersions" : { - "shape" : "__listOfCompatibleKafkaVersion", - "locationName" : "compatibleKafkaVersions" + "GetCompatibleKafkaVersionsResponse": { + "type": "structure", + "members": { + "CompatibleKafkaVersions": { + "shape": "__listOfCompatibleKafkaVersion", + "locationName": "compatibleKafkaVersions" } } }, @@ -3307,21 +3402,26 @@ "locationName": "vpcConfig" } }, - "required": ["VpcConfig", "AmazonMskCluster"] + "required": [ + "VpcConfig", + "AmazonMskCluster" + ] }, - "KafkaClusterClientVpcConfig" : { - "type" : "structure", - "members" : { - "SecurityGroupIds" : { - "shape" : "__listOf__string", - "locationName" : "securityGroupIds" + "KafkaClusterClientVpcConfig": { + "type": "structure", + "members": { + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds" }, - "SubnetIds" : { - "shape" : "__listOf__string", - "locationName" : "subnetIds" + "SubnetIds": { + "shape": "__listOf__string", + "locationName": "subnetIds" } }, - "required" : [ "SubnetIds" ] + "required": [ + "SubnetIds" + ] }, "KafkaClusterDescription": { "type": "structure", @@ -3396,26 +3496,28 @@ "ClusterArn" ] }, - "ListClusterOperationsV2Request" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" - }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults" - }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken" - } - }, - "required" : [ "ClusterArn" ] + "ListClusterOperationsV2Request": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "required": [ + "ClusterArn" + ] }, "ListClusterOperationsResponse": { "type": "structure", @@ -3430,16 +3532,16 @@ } } }, - "ListClusterOperationsV2Response" : { - "type" : "structure", - "members" : { - "ClusterOperationInfoList" : { - "shape" : "__listOfClusterOperationV2Summary", - "locationName" : "clusterOperationInfoList" + "ListClusterOperationsV2Response": { + "type": "structure", + "members": { + "ClusterOperationInfoList": { + "shape": "__listOfClusterOperationV2Summary", + "locationName": "clusterOperationInfoList" }, - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken" + "NextToken": { + "shape": "__string", + "locationName": "nextToken" } } }, @@ -3542,7 +3644,11 @@ }, "CustomerActionStatus": { "type": "string", - "enum": [ "CRITICAL_ACTION_REQUIRED", "ACTION_RECOMMENDED", "NONE" ] + "enum": [ + "CRITICAL_ACTION_REQUIRED", + "ACTION_RECOMMENDED", + "NONE" + ] }, "DescribeClusterV2Request": { "type": "structure", @@ -3681,9 +3787,9 @@ "locationName": "state", "documentation": "\n

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

\n " }, - "StateInfo" : { - "shape" : "StateInfo", - "locationName" : "stateInfo", + "StateInfo": { + "shape": "StateInfo", + "locationName": "stateInfo", "documentation": "\n

State Info for the Amazon MSK cluster.

\n " }, "Tags": { @@ -3713,9 +3819,9 @@ ] }, "ProvisionedRequest": { - "type" : "structure", + "type": "structure", "documentation": "\n

Provisioned cluster request.

\n ", - "members" : { + "members": { "BrokerNodeGroupInfo": { "shape": "BrokerNodeGroupInfo", "locationName": "brokerNodeGroupInfo", @@ -3741,10 +3847,10 @@ "locationName": "enhancedMonitoring", "documentation": "\n

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

\n " }, - "OpenMonitoring" : { - "shape" : "OpenMonitoringInfo", - "locationName" : "openMonitoring", - "documentation" : "\n

The settings for open monitoring.

\n " + "OpenMonitoring": { + "shape": "OpenMonitoringInfo", + "locationName": "openMonitoring", + "documentation": "\n

The settings for open monitoring.

\n " }, "KafkaVersion": { "shape": "__stringMin1Max128", @@ -3761,9 +3867,9 @@ "locationName": "numberOfBrokerNodes", "documentation": "\n

The number of brokers in the cluster.

\n " }, - "StorageMode" : { - "shape" : "StorageMode", - "locationName" : "storageMode", + "StorageMode": { + "shape": "StorageMode", + "locationName": "storageMode", "documentation": "\n

This controls storage mode for supported storage tiers.

\n " } }, @@ -3774,9 +3880,9 @@ ] }, "Provisioned": { - "type" : "structure", + "type": "structure", "documentation": "\n

Provisioned cluster.

\n ", - "members" : { + "members": { "BrokerNodeGroupInfo": { "shape": "BrokerNodeGroupInfo", "locationName": "brokerNodeGroupInfo", @@ -3802,10 +3908,10 @@ "locationName": "enhancedMonitoring", "documentation": "\n

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

\n " }, - "OpenMonitoring" : { - "shape" : "OpenMonitoringInfo", - "locationName" : "openMonitoring", - "documentation" : "\n

The settings for open monitoring.

\n " + "OpenMonitoring": { + "shape": "OpenMonitoringInfo", + "locationName": "openMonitoring", + "documentation": "\n

The settings for open monitoring.

\n " }, "LoggingInfo": { "shape": "LoggingInfo", @@ -3822,14 +3928,14 @@ "locationName": "zookeeperConnectString", "documentation": "\n

The connection string to use to connect to the Apache ZooKeeper cluster.

\n " }, - "ZookeeperConnectStringTls" : { - "shape" : "__string", - "locationName" : "zookeeperConnectStringTls", - "documentation" : "\n

The connection string to use to connect to the Apache ZooKeeper cluster on a TLS port.

\n " + "ZookeeperConnectStringTls": { + "shape": "__string", + "locationName": "zookeeperConnectStringTls", + "documentation": "\n

The connection string to use to connect to the Apache ZooKeeper cluster on a TLS port.

\n " }, - "StorageMode" : { - "shape" : "StorageMode", - "locationName" : "storageMode", + "StorageMode": { + "shape": "StorageMode", + "locationName": "storageMode", "documentation": "\n

This controls storage mode for supported storage tiers.

\n " }, "CustomerActionStatus": { @@ -3844,18 +3950,18 @@ ] }, "VpcConfig": { - "type" : "structure", + "type": "structure", "documentation": "\n

The configuration of the Amazon VPCs for the cluster.

\n ", "members": { "SubnetIds": { "shape": "__listOf__string", "locationName": "subnetIds", - "documentation" : "\n

The IDs of the subnets associated with the cluster.

\n " + "documentation": "\n

The IDs of the subnets associated with the cluster.

\n " }, "SecurityGroupIds": { "shape": "__listOf__string", "locationName": "securityGroupIds", - "documentation" : "\n

The IDs of the security groups associated with the cluster.

\n " + "documentation": "\n

The IDs of the security groups associated with the cluster.

\n " } }, "required": [ @@ -3863,9 +3969,9 @@ ] }, "ServerlessRequest": { - "type" : "structure", + "type": "structure", "documentation": "\n

Serverless cluster request.

\n ", - "members" : { + "members": { "VpcConfigs": { "shape": "__listOfVpcConfig", "locationName": "vpcConfigs", @@ -3881,32 +3987,32 @@ "VpcConfigs" ] }, - "ServerlessClientAuthentication" : { - "type" : "structure", - "members" : { - "Sasl" : { - "shape" : "ServerlessSasl", - "locationName" : "sasl", - "documentation" : "\n

Details for client authentication using SASL.

\n " + "ServerlessClientAuthentication": { + "type": "structure", + "members": { + "Sasl": { + "shape": "ServerlessSasl", + "locationName": "sasl", + "documentation": "\n

Details for client authentication using SASL.

\n " } }, - "documentation" : "\n

Includes all client authentication information.

\n " + "documentation": "\n

Includes all client authentication information.

\n " }, - "ServerlessSasl" : { - "type" : "structure", - "members" : { - "Iam" : { - "shape" : "Iam", - "locationName" : "iam", - "documentation" : "\n

Indicates whether IAM access control is enabled.

\n " + "ServerlessSasl": { + "type": "structure", + "members": { + "Iam": { + "shape": "Iam", + "locationName": "iam", + "documentation": "\n

Indicates whether IAM access control is enabled.

\n " } }, - "documentation" : "\n

Details for client authentication using SASL.

\n " + "documentation": "\n

Details for client authentication using SASL.

\n " }, "Serverless": { - "type" : "structure", + "type": "structure", "documentation": "\n

Serverless cluster.

\n ", - "members" : { + "members": { "VpcConfigs": { "shape": "__listOfVpcConfig", "locationName": "vpcConfigs", @@ -4083,37 +4189,39 @@ } } }, - "ListScramSecretsRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "ListScramSecretsRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults" + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken" + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" } }, - "required" : [ "ClusterArn" ] + "required": [ + "ClusterArn" + ] }, - "ListScramSecretsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken" + "ListScramSecretsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" }, - "SecretArnList" : { - "shape" : "__listOf__string", - "locationName" : "secretArnList" + "SecretArnList": { + "shape": "__listOf__string", + "locationName": "secretArnList" } } }, @@ -4152,39 +4260,43 @@ "locationName": "brokerLogs" } }, - "required": [ "BrokerLogs" ] + "required": [ + "BrokerLogs" + ] }, - "ListClientVpcConnectionsRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "ListClientVpcConnectionsRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults" + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken" + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" } }, - "required" : [ "ClusterArn" ] + "required": [ + "ClusterArn" + ] }, - "ListClientVpcConnectionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken" + "ListClientVpcConnectionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" }, - "ClientVpcConnections" : { - "shape" : "__listOfClientVpcConnection", - "locationName" : "clientVpcConnections" + "ClientVpcConnections": { + "shape": "__listOfClientVpcConnection", + "locationName": "clientVpcConnections" } } }, @@ -4221,37 +4333,37 @@ } } }, - "ListVpcConnectionsRequest" : { - "type" : "structure", - "members" : { - "MaxResults" : { - "shape" : "MaxResults", - "location" : "querystring", - "locationName" : "maxResults" + "ListVpcConnectionsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" }, - "NextToken" : { - "shape" : "__string", - "location" : "querystring", - "locationName" : "nextToken" + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" } } }, - "ListVpcConnectionsResponse" : { - "type" : "structure", - "members" : { - "NextToken" : { - "shape" : "__string", - "locationName" : "nextToken" + "ListVpcConnectionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken" }, - "VpcConnections" : { - "shape" : "__listOfVpcConnection", - "locationName" : "vpcConnections" + "VpcConnections": { + "shape": "__listOfVpcConnection", + "locationName": "vpcConnections" } } }, - "RejectClientVpcConnectionRequest" : { - "type" : "structure", - "members" : { + "RejectClientVpcConnectionRequest": { + "type": "structure", + "members": { "ClusterArn": { "shape": "__string", "location": "uri", @@ -4262,67 +4374,70 @@ "locationName": "vpcConnectionArn" } }, - "required" : [ "VpcConnectionArn", "ClusterArn" ] + "required": [ + "VpcConnectionArn", + "ClusterArn" + ] }, - "RejectClientVpcConnectionResponse" : { + "RejectClientVpcConnectionResponse": { "type": "structure", "members": { } }, - "MutableClusterInfo" : { - "type" : "structure", - "members" : { - "BrokerEBSVolumeInfo" : { - "shape" : "__listOfBrokerEBSVolumeInfo", - "locationName" : "brokerEBSVolumeInfo" + "MutableClusterInfo": { + "type": "structure", + "members": { + "BrokerEBSVolumeInfo": { + "shape": "__listOfBrokerEBSVolumeInfo", + "locationName": "brokerEBSVolumeInfo" }, - "ConfigurationInfo" : { - "shape" : "ConfigurationInfo", - "locationName" : "configurationInfo" + "ConfigurationInfo": { + "shape": "ConfigurationInfo", + "locationName": "configurationInfo" }, - "NumberOfBrokerNodes" : { - "shape" : "__integer", - "locationName" : "numberOfBrokerNodes" + "NumberOfBrokerNodes": { + "shape": "__integer", + "locationName": "numberOfBrokerNodes" }, - "OpenMonitoring" : { - "shape" : "OpenMonitoring", - "locationName" : "openMonitoring" + "OpenMonitoring": { + "shape": "OpenMonitoring", + "locationName": "openMonitoring" }, - "EnhancedMonitoring" : { - "shape" : "EnhancedMonitoring", - "locationName" : "enhancedMonitoring" + "EnhancedMonitoring": { + "shape": "EnhancedMonitoring", + "locationName": "enhancedMonitoring" }, - "KafkaVersion" : { - "shape" : "__string", - "locationName" : "kafkaVersion" + "KafkaVersion": { + "shape": "__string", + "locationName": "kafkaVersion" }, - "LoggingInfo" : { - "shape" : "LoggingInfo", - "locationName" : "loggingInfo" + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo" }, - "InstanceType" : { - "shape" : "__string", - "locationName" : "instanceType" + "InstanceType": { + "shape": "__string", + "locationName": "instanceType" }, - "ClientAuthentication" : { - "shape" : "ClientAuthentication", - "locationName" : "clientAuthentication" + "ClientAuthentication": { + "shape": "ClientAuthentication", + "locationName": "clientAuthentication" }, - "EncryptionInfo" : { - "shape" : "EncryptionInfo", - "locationName" : "encryptionInfo" + "EncryptionInfo": { + "shape": "EncryptionInfo", + "locationName": "encryptionInfo" }, "ConnectivityInfo": { "shape": "ConnectivityInfo", "locationName": "connectivityInfo" }, - "StorageMode" : { - "shape" : "StorageMode", - "locationName" : "storageMode" + "StorageMode": { + "shape": "StorageMode", + "locationName": "storageMode" }, - "BrokerCountUpdateInfo" : { + "BrokerCountUpdateInfo": { "shape": "BrokerCountUpdateInfo", - "locationName" : "brokerCountUpdateInfo" + "locationName": "brokerCountUpdateInfo" } } }, @@ -4406,7 +4521,13 @@ "locationName": "topicReplication" } }, - "required": ["TargetCompressionType", "TopicReplication", "ConsumerGroupReplication", "SourceKafkaClusterArn", "TargetKafkaClusterArn"] + "required": [ + "TargetCompressionType", + "TopicReplication", + "ConsumerGroupReplication", + "SourceKafkaClusterArn", + "TargetKafkaClusterArn" + ] }, "ReplicationInfoDescription": { "type": "structure", @@ -4446,18 +4567,37 @@ } } }, - "ReplicationStartingPosition" : { - "type" : "structure", - "members" : { - "Type" : { - "shape" : "ReplicationStartingPositionType", - "locationName" : "type" + "ReplicationStartingPosition": { + "type": "structure", + "members": { + "Type": { + "shape": "ReplicationStartingPositionType", + "locationName": "type" } } }, - "ReplicationStartingPositionType" : { - "type" : "string", - "enum" : [ "LATEST", "EARLIEST" ] + "ReplicationStartingPositionType": { + "type": "string", + "enum": [ + "LATEST", + "EARLIEST" + ] + }, + "ReplicationTopicNameConfiguration": { + "type": "structure", + "members": { + "Type": { + "shape": "ReplicationTopicNameConfigurationType", + "locationName": "type" + } + } + }, + "ReplicationTopicNameConfigurationType": { + "type": "string", + "enum": [ + "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", + "IDENTICAL" + ] }, "ReplicationStateInfo": { "type": "structure", @@ -4474,7 +4614,13 @@ }, "ReplicatorState": { "type": "string", - "enum": ["RUNNING", "CREATING", "UPDATING", "DELETING", "FAILED"] + "enum": [ + "RUNNING", + "CREATING", + "UPDATING", + "DELETING", + "FAILED" + ] }, "ReplicatorSummary": { "type": "structure", @@ -4517,65 +4663,65 @@ } } }, - "Sasl" : { - "type" : "structure", - "members" : { - "Scram" : { - "shape" : "Scram", - "locationName" : "scram" + "Sasl": { + "type": "structure", + "members": { + "Scram": { + "shape": "Scram", + "locationName": "scram" }, - "Iam" : { - "shape" : "Iam", - "locationName" : "iam" + "Iam": { + "shape": "Iam", + "locationName": "iam" } } }, - "VpcConnectivitySasl" : { - "type" : "structure", - "members" : { - "Scram" : { - "shape" : "VpcConnectivityScram", - "locationName" : "scram" + "VpcConnectivitySasl": { + "type": "structure", + "members": { + "Scram": { + "shape": "VpcConnectivityScram", + "locationName": "scram" }, - "Iam" : { - "shape" : "VpcConnectivityIam", - "locationName" : "iam" + "Iam": { + "shape": "VpcConnectivityIam", + "locationName": "iam" } } }, - "Scram" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "Scram": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, - "VpcConnectivityScram" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "VpcConnectivityScram": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, - "Iam" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "Iam": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, - "VpcConnectivityIam" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "VpcConnectivityIam": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, @@ -4618,9 +4764,12 @@ } } }, - "StorageMode" : { - "type" : "string", - "enum" : [ "LOCAL", "TIERED" ] + "StorageMode": { + "type": "string", + "enum": [ + "LOCAL", + "TIERED" + ] }, "TagResourceRequest": { "type": "structure", @@ -4642,7 +4791,13 @@ }, "TargetCompressionType": { "type": "string", - "enum": ["NONE", "GZIP", "SNAPPY", "LZ4", "ZSTD"] + "enum": [ + "NONE", + "GZIP", + "SNAPPY", + "LZ4", + "ZSTD" + ] }, "TopicReplication": { "type": "structure", @@ -4659,9 +4814,13 @@ "shape": "__boolean", "locationName": "detectAndCopyNewTopics" }, - "StartingPosition" : { - "shape" : "ReplicationStartingPosition", - "locationName" : "startingPosition" + "StartingPosition": { + "shape": "ReplicationStartingPosition", + "locationName": "startingPosition" + }, + "TopicNameConfiguration": { + "shape": "ReplicationTopicNameConfiguration", + "locationName": "topicNameConfiguration" }, "TopicsToExclude": { "shape": "__listOf__stringMax249", @@ -4672,7 +4831,9 @@ "locationName": "topicsToReplicate" } }, - "required": ["TopicsToReplicate"] + "required": [ + "TopicsToReplicate" + ] }, "TopicReplicationUpdate": { "type": "structure", @@ -4698,27 +4859,33 @@ "locationName": "topicsToReplicate" } }, - "required": ["TopicsToReplicate", "TopicsToExclude", "CopyTopicConfigurations", "DetectAndCopyNewTopics", "CopyAccessControlListsForTopics"] + "required": [ + "TopicsToReplicate", + "TopicsToExclude", + "CopyTopicConfigurations", + "DetectAndCopyNewTopics", + "CopyAccessControlListsForTopics" + ] }, - "Tls" : { - "type" : "structure", - "members" : { - "CertificateAuthorityArnList" : { - "shape" : "__listOf__string", - "locationName" : "certificateAuthorityArnList" + "Tls": { + "type": "structure", + "members": { + "CertificateAuthorityArnList": { + "shape": "__listOf__string", + "locationName": "certificateAuthorityArnList" }, - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, - "VpcConnectivityTls" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "VpcConnectivityTls": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, @@ -4739,12 +4906,12 @@ "httpStatusCode": 429 } }, - "Unauthenticated" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "Unauthenticated": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" } } }, @@ -4765,20 +4932,20 @@ "httpStatusCode": 401 } }, - "UnprocessedScramSecret" : { - "type" : "structure", - "members" : { - "ErrorCode" : { - "shape" : "__string", - "locationName" : "errorCode" + "UnprocessedScramSecret": { + "type": "structure", + "members": { + "ErrorCode": { + "shape": "__string", + "locationName": "errorCode" }, - "ErrorMessage" : { - "shape" : "__string", - "locationName" : "errorMessage" + "ErrorMessage": { + "shape": "__string", + "locationName": "errorMessage" }, - "SecretArn" : { - "shape" : "__string", - "locationName" : "secretArn" + "SecretArn": { + "shape": "__string", + "locationName": "secretArn" } } }, @@ -4945,43 +5112,47 @@ } } }, - "UpdateClusterKafkaVersionRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "UpdateClusterKafkaVersionRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "ConfigurationInfo" : { - "shape" : "ConfigurationInfo", - "locationName" : "configurationInfo" + "ConfigurationInfo": { + "shape": "ConfigurationInfo", + "locationName": "configurationInfo" }, - "CurrentVersion" : { - "shape" : "__string", - "locationName" : "currentVersion" + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" }, - "TargetKafkaVersion" : { - "shape" : "__string", - "locationName" : "targetKafkaVersion" + "TargetKafkaVersion": { + "shape": "__string", + "locationName": "targetKafkaVersion" } }, - "required" : [ "ClusterArn", "TargetKafkaVersion", "CurrentVersion" ] + "required": [ + "ClusterArn", + "TargetKafkaVersion", + "CurrentVersion" + ] }, - "UpdateClusterKafkaVersionResponse" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "UpdateClusterKafkaVersionResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterOperationArn" : { - "shape" : "__string", - "locationName" : "clusterOperationArn" + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn" } } }, - "UpdateConfigurationRequest" : { + "UpdateConfigurationRequest": { "type": "structure", "members": { "Arn": { @@ -5003,7 +5174,7 @@ "ServerProperties" ] }, - "UpdateConfigurationResponse" : { + "UpdateConfigurationResponse": { "type": "structure", "members": { "Arn": { @@ -5016,79 +5187,82 @@ } } }, - "UpdateConnectivityRequest":{ - "type":"structure", - "members":{ - "ClusterArn":{ - "shape":"__string", - "location":"uri", - "locationName":"clusterArn" + "UpdateConnectivityRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "ConnectivityInfo":{ - "shape":"ConnectivityInfo", - "locationName":"connectivityInfo" + "ConnectivityInfo": { + "shape": "ConnectivityInfo", + "locationName": "connectivityInfo" }, - "CurrentVersion":{ - "shape":"__string", - "locationName":"currentVersion" + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" } }, - "required":[ + "required": [ "ClusterArn", "ConnectivityInfo", "CurrentVersion" ] }, - "UpdateConnectivityResponse":{ - "type":"structure", - "members":{ - "ClusterArn":{ - "shape":"__string", - "locationName":"clusterArn" + "UpdateConnectivityResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterOperationArn":{ - "shape":"__string", - "locationName":"clusterOperationArn" + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn" } } }, - "UpdateMonitoringRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "UpdateMonitoringRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "CurrentVersion" : { - "shape" : "__string", - "locationName" : "currentVersion" + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" }, - "EnhancedMonitoring" : { - "shape" : "EnhancedMonitoring", - "locationName" : "enhancedMonitoring" + "EnhancedMonitoring": { + "shape": "EnhancedMonitoring", + "locationName": "enhancedMonitoring" }, - "OpenMonitoring" : { - "shape" : "OpenMonitoringInfo", - "locationName" : "openMonitoring" + "OpenMonitoring": { + "shape": "OpenMonitoringInfo", + "locationName": "openMonitoring" }, "LoggingInfo": { "shape": "LoggingInfo", "locationName": "loggingInfo" } }, - "required" : [ "ClusterArn", "CurrentVersion" ] + "required": [ + "ClusterArn", + "CurrentVersion" + ] }, - "UpdateMonitoringResponse" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "UpdateMonitoringResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterOperationArn" : { - "shape" : "__string", - "locationName" : "clusterOperationArn" + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn" } } }, @@ -5121,7 +5295,12 @@ "locationName": "topicReplication" } }, - "required": ["ReplicatorArn", "SourceKafkaClusterArn", "CurrentVersion", "TargetKafkaClusterArn"] + "required": [ + "ReplicatorArn", + "SourceKafkaClusterArn", + "CurrentVersion", + "TargetKafkaClusterArn" + ] }, "UpdateReplicationInfoResponse": { "type": "structure", @@ -5136,79 +5315,85 @@ } } }, - "UpdateSecurityRequest" : { - "type" : "structure", - "members" : { - "ClientAuthentication" : { - "shape" : "ClientAuthentication", - "locationName" : "clientAuthentication" + "UpdateSecurityRequest": { + "type": "structure", + "members": { + "ClientAuthentication": { + "shape": "ClientAuthentication", + "locationName": "clientAuthentication" }, - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "CurrentVersion" : { - "shape" : "__string", - "locationName" : "currentVersion" + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" }, - "EncryptionInfo" : { - "shape" : "EncryptionInfo", - "locationName" : "encryptionInfo" + "EncryptionInfo": { + "shape": "EncryptionInfo", + "locationName": "encryptionInfo" } }, - "required" : [ "ClusterArn", "CurrentVersion" ] + "required": [ + "ClusterArn", + "CurrentVersion" + ] }, - "UpdateSecurityResponse" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "UpdateSecurityResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterOperationArn" : { - "shape" : "__string", - "locationName" : "clusterOperationArn" + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn" } } }, - "UpdateStorageRequest" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "location" : "uri", - "locationName" : "clusterArn" + "UpdateStorageRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" }, - "CurrentVersion" : { - "shape" : "__string", - "locationName" : "currentVersion" + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion" }, - "ProvisionedThroughput" : { - "shape" : "ProvisionedThroughput", - "locationName" : "provisionedThroughput" + "ProvisionedThroughput": { + "shape": "ProvisionedThroughput", + "locationName": "provisionedThroughput" }, - "StorageMode" : { - "shape" : "StorageMode", - "locationName" : "storageMode" + "StorageMode": { + "shape": "StorageMode", + "locationName": "storageMode" }, - "VolumeSizeGB" : { - "shape" : "__integer", - "locationName" : "volumeSizeGB" + "VolumeSizeGB": { + "shape": "__integer", + "locationName": "volumeSizeGB" } }, - "required" : [ "ClusterArn", "CurrentVersion" ] + "required": [ + "ClusterArn", + "CurrentVersion" + ] }, - "UpdateStorageResponse" : { - "type" : "structure", - "members" : { - "ClusterArn" : { - "shape" : "__string", - "locationName" : "clusterArn" + "UpdateStorageResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" }, - "ClusterOperationArn" : { - "shape" : "__string", - "locationName" : "clusterOperationArn" + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn" } } }, @@ -5266,80 +5451,84 @@ } } }, - "OpenMonitoring" : { - "type" : "structure", - "members" : { - "Prometheus" : { - "shape" : "Prometheus", - "locationName" : "prometheus" + "OpenMonitoring": { + "type": "structure", + "members": { + "Prometheus": { + "shape": "Prometheus", + "locationName": "prometheus" } }, - "required" : [ "Prometheus" ] + "required": [ + "Prometheus" + ] }, - "OpenMonitoringInfo" : { - "type" : "structure", - "members" : { - "Prometheus" : { - "shape" : "PrometheusInfo", - "locationName" : "prometheus" + "OpenMonitoringInfo": { + "type": "structure", + "members": { + "Prometheus": { + "shape": "PrometheusInfo", + "locationName": "prometheus" } }, - "required" : [ "Prometheus" ] + "required": [ + "Prometheus" + ] }, - "Prometheus" : { - "type" : "structure", - "members" : { - "JmxExporter" : { - "shape" : "JmxExporter", - "locationName" : "jmxExporter" + "Prometheus": { + "type": "structure", + "members": { + "JmxExporter": { + "shape": "JmxExporter", + "locationName": "jmxExporter" }, - "NodeExporter" : { - "shape" : "NodeExporter", - "locationName" : "nodeExporter" + "NodeExporter": { + "shape": "NodeExporter", + "locationName": "nodeExporter" } } }, - "PrometheusInfo" : { - "type" : "structure", - "members" : { - "JmxExporter" : { - "shape" : "JmxExporterInfo", - "locationName" : "jmxExporter" + "PrometheusInfo": { + "type": "structure", + "members": { + "JmxExporter": { + "shape": "JmxExporterInfo", + "locationName": "jmxExporter" }, - "NodeExporter" : { - "shape" : "NodeExporterInfo", - "locationName" : "nodeExporter" + "NodeExporter": { + "shape": "NodeExporterInfo", + "locationName": "nodeExporter" } } }, - "ProvisionedThroughput" : { - "type" : "structure", - "members" : { - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "ProvisionedThroughput": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" }, - "VolumeThroughput" : { - "shape" : "__integer", - "locationName" : "volumeThroughput" + "VolumeThroughput": { + "shape": "__integer", + "locationName": "volumeThroughput" } } }, - "PublicAccess":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"__string", - "locationName":"type" + "PublicAccess": { + "type": "structure", + "members": { + "Type": { + "shape": "__string", + "locationName": "type" } } }, - "VpcConnectivity":{ - "type":"structure", - "members":{ - "ClientAuthentication":{ - "shape":"VpcConnectivityClientAuthentication", - "locationName":"clientAuthentication" + "VpcConnectivity": { + "type": "structure", + "members": { + "ClientAuthentication": { + "shape": "VpcConnectivityClientAuthentication", + "locationName": "clientAuthentication" } } }, @@ -5364,28 +5553,28 @@ } } }, - "VpcConnectionInfoServerless" : { - "type" : "structure", - "members" : { - "CreationTime" : { - "shape" : "__timestampIso8601", - "locationName" : "creationTime" + "VpcConnectionInfoServerless": { + "type": "structure", + "members": { + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime" }, - "Owner" : { - "shape" : "__string", - "locationName" : "owner" + "Owner": { + "shape": "__string", + "locationName": "owner" }, - "UserIdentity" : { - "shape" : "UserIdentity", - "locationName" : "userIdentity" + "UserIdentity": { + "shape": "UserIdentity", + "locationName": "userIdentity" }, - "VpcConnectionArn" : { - "shape" : "__string", - "locationName" : "vpcConnectionArn" + "VpcConnectionArn": { + "shape": "__string", + "locationName": "vpcConnectionArn" } } }, - "VpcConnectionState":{ + "VpcConnectionState": { "type": "string", "enum": [ "CREATING", @@ -5411,7 +5600,10 @@ "locationName": "clusterArn" } }, - "required": [ "ClusterArn", "BrokerIds" ] + "required": [ + "ClusterArn", + "BrokerIds" + ] }, "RebootBrokerResponse": { "type": "structure", @@ -5426,63 +5618,73 @@ } } }, - "S3" : { - "type" : "structure", - "members" : { - "Bucket" : { - "shape" : "__string", - "locationName" : "bucket" + "S3": { + "type": "structure", + "members": { + "Bucket": { + "shape": "__string", + "locationName": "bucket" }, - "Enabled" : { - "shape" : "__boolean", - "locationName" : "enabled" + "Enabled": { + "shape": "__boolean", + "locationName": "enabled" }, - "Prefix" : { - "shape" : "__string", - "locationName" : "prefix" + "Prefix": { + "shape": "__string", + "locationName": "prefix" } }, - "required" : [ "Enabled" ] + "required": [ + "Enabled" + ] }, - "JmxExporter" : { - "type" : "structure", - "members" : { - "EnabledInBroker" : { - "shape" : "__boolean", - "locationName" : "enabledInBroker" + "JmxExporter": { + "type": "structure", + "members": { + "EnabledInBroker": { + "shape": "__boolean", + "locationName": "enabledInBroker" } }, - "required" : [ "EnabledInBroker" ] + "required": [ + "EnabledInBroker" + ] }, - "JmxExporterInfo" : { - "type" : "structure", - "members" : { - "EnabledInBroker" : { - "shape" : "__boolean", - "locationName" : "enabledInBroker" + "JmxExporterInfo": { + "type": "structure", + "members": { + "EnabledInBroker": { + "shape": "__boolean", + "locationName": "enabledInBroker" } }, - "required" : [ "EnabledInBroker" ] + "required": [ + "EnabledInBroker" + ] }, - "NodeExporter" : { - "type" : "structure", - "members" : { - "EnabledInBroker" : { - "shape" : "__boolean", - "locationName" : "enabledInBroker" + "NodeExporter": { + "type": "structure", + "members": { + "EnabledInBroker": { + "shape": "__boolean", + "locationName": "enabledInBroker" } }, - "required" : [ "EnabledInBroker" ] + "required": [ + "EnabledInBroker" + ] }, - "NodeExporterInfo" : { - "type" : "structure", - "members" : { - "EnabledInBroker" : { - "shape" : "__boolean", - "locationName" : "enabledInBroker" + "NodeExporterInfo": { + "type": "structure", + "members": { + "EnabledInBroker": { + "shape": "__boolean", + "locationName": "enabledInBroker" } }, - "required" : [ "EnabledInBroker" ] + "required": [ + "EnabledInBroker" + ] }, "__boolean": { "type": "boolean" @@ -5518,10 +5720,10 @@ "shape": "ClusterInfo" } }, - "__listOfClusterOperationV2Summary" : { - "type" : "list", - "member" : { - "shape" : "ClusterOperationV2Summary" + "__listOfClusterOperationV2Summary": { + "type": "list", + "member": { + "shape": "ClusterOperationV2Summary" } }, "__listOfClusterOperationInfo": { @@ -5530,16 +5732,16 @@ "shape": "ClusterOperationInfo" } }, - "__listOfClusterOperationStep" : { - "type" : "list", - "member" : { - "shape" : "ClusterOperationStep" + "__listOfClusterOperationStep": { + "type": "list", + "member": { + "shape": "ClusterOperationStep" } }, - "__listOfCompatibleKafkaVersion" : { - "type" : "list", - "member" : { - "shape" : "CompatibleKafkaVersion" + "__listOfCompatibleKafkaVersion": { + "type": "list", + "member": { + "shape": "CompatibleKafkaVersion" } }, "__listOfCluster": { @@ -5548,10 +5750,10 @@ "shape": "Cluster" } }, - "__listOfVpcConfig" : { - "type" : "list", - "member" : { - "shape" : "VpcConfig" + "__listOfVpcConfig": { + "type": "list", + "member": { + "shape": "VpcConfig" } }, "__listOfConfiguration": { @@ -5566,22 +5768,22 @@ "shape": "ConfigurationRevision" } }, - "__listOfKafkaCluster" : { - "type" : "list", - "member" : { - "shape" : "KafkaCluster" + "__listOfKafkaCluster": { + "type": "list", + "member": { + "shape": "KafkaCluster" } }, - "__listOfKafkaClusterDescription" : { - "type" : "list", - "member" : { - "shape" : "KafkaClusterDescription" + "__listOfKafkaClusterDescription": { + "type": "list", + "member": { + "shape": "KafkaClusterDescription" } }, - "__listOfKafkaClusterSummary" : { - "type" : "list", - "member" : { - "shape" : "KafkaClusterSummary" + "__listOfKafkaClusterSummary": { + "type": "list", + "member": { + "shape": "KafkaClusterSummary" } }, "__listOfKafkaVersion": { @@ -5602,47 +5804,46 @@ "shape": "ClientVpcConnection" } }, - "__listOfReplicationInfo" : { - "type" : "list", - "member" : { - "shape" : "ReplicationInfo" + "__listOfReplicationInfo": { + "type": "list", + "member": { + "shape": "ReplicationInfo" } }, - "__listOfReplicationInfoDescription" : { - "type" : "list", - "member" : { - "shape" : "ReplicationInfoDescription" + "__listOfReplicationInfoDescription": { + "type": "list", + "member": { + "shape": "ReplicationInfoDescription" } }, - "__listOfReplicationInfoSummary" : { - "type" : "list", - "member" : { - "shape" : "ReplicationInfoSummary" + "__listOfReplicationInfoSummary": { + "type": "list", + "member": { + "shape": "ReplicationInfoSummary" } }, - "__listOfReplicatorSummary" : { - "type" : "list", - "member" : { - "shape" : "ReplicatorSummary" + "__listOfReplicatorSummary": { + "type": "list", + "member": { + "shape": "ReplicatorSummary" } }, - "__listOfVpcConnection": { "type": "list", "member": { "shape": "VpcConnection" } }, - "__listOfUnprocessedScramSecret" : { - "type" : "list", - "member" : { - "shape" : "UnprocessedScramSecret" + "__listOfUnprocessedScramSecret": { + "type": "list", + "member": { + "shape": "UnprocessedScramSecret" } }, - "__listOf__double" : { - "type" : "list", - "member" : { - "shape" : "__double" + "__listOf__double": { + "type": "list", + "member": { + "shape": "__double" } }, "__listOf__string": { @@ -5651,16 +5852,16 @@ "shape": "__string" } }, - "__listOf__stringMax249" : { - "type" : "list", - "member" : { - "shape" : "__stringMax249" + "__listOf__stringMax249": { + "type": "list", + "member": { + "shape": "__stringMax249" } }, - "__listOf__stringMax256" : { - "type" : "list", - "member" : { - "shape" : "__stringMax256" + "__listOf__stringMax256": { + "type": "list", + "member": { + "shape": "__stringMax256" } }, "__long": { @@ -5678,28 +5879,28 @@ "__string": { "type": "string" }, - "__stringMax1024" : { - "type" : "string", - "max" : 1024 + "__stringMax1024": { + "type": "string", + "max": 1024 }, - "__stringMax249" : { - "type" : "string", - "max" : 249 + "__stringMax249": { + "type": "string", + "max": 249 }, - "__stringMax256" : { - "type" : "string", - "max" : 256 + "__stringMax256": { + "type": "string", + "max": 256 }, "__stringMin1Max128": { "type": "string", "min": 1, "max": 128 }, - "__stringMin1Max128Pattern09AZaZ09AZaZ0" : { - "type" : "string", - "min" : 1, - "max" : 128, - "pattern" : "^[0-9A-Za-z][0-9A-Za-z-]{0,}$" + "__stringMin1Max128Pattern09AZaZ09AZaZ0": { + "type": "string", + "min": 1, + "max": 128, + "pattern": "^[0-9A-Za-z][0-9A-Za-z-]{0,}$" }, "__stringMin1Max64": { "type": "string", diff --git a/apis/kafka/2018-11-14/docs-2.json b/apis/kafka/2018-11-14/docs-2.json index 31ab240d3bc..818816c06a2 100644 --- a/apis/kafka/2018-11-14/docs-2.json +++ b/apis/kafka/2018-11-14/docs-2.json @@ -22,7 +22,7 @@ "DescribeReplicator" : "

Returns a description of the Kafka Replicator whose Amazon Resource Name (ARN) is specified in the request.

", "DescribeVpcConnection" : "

Displays information about the specified Amazon MSK VPC connection.

", "BatchDisassociateScramSecret" : "

Disassociates one or more Scram Secrets from an Amazon MSK cluster.

", - "GetBootstrapBrokers" : "

A list of brokers that a client application can use to bootstrap.

", + "GetBootstrapBrokers" : "

A list of brokers that a client application can use to bootstrap. This list doesn't necessarily include all of the brokers in the cluster. The following Python 3.6 example shows how you can use the Amazon Resource Name (ARN) of a cluster to get its bootstrap brokers. If you don't know the ARN of your cluster, you can use the ListClusters operation to get the ARNs of all the clusters in this account and Region.

", "GetCompatibleKafkaVersions" : "

Gets the Apache Kafka versions to which you can update the MSK cluster.

", "GetClusterPolicy" : "

Retrieves the contents of the specified MSK cluster policy.

", "ListClientVpcConnections" : "

Displays a list of client VPC connections.

", @@ -769,6 +769,18 @@ "ReplicationStartingPosition$Type" : "

The type of replication starting position.

" } }, + "ReplicationTopicNameConfiguration" : { + "base" : "

Configuration for specifying replicated topic names should be the same as their corresponding upstream topics or prefixed with source cluster alias.

", + "refs" : { + "TopicReplication$TopicNameConfiguration" : "

Configuration for specifying replicated topic names same as their corresponding upstream topics or prefixed with source cluster alias.

" + } + }, + "ReplicationTopicNameConfigurationType" : { + "base" : "

The type of replicated topic name.

", + "refs" : { + "ReplicationTopicNameConfiguration$Type" : "

The type of replicated topic name.

" + } + }, "ReplicationStateInfo" : { "base" : "Details about the state of a replicator", "refs" : { @@ -1537,4 +1549,4 @@ } } } -} \ No newline at end of file +} diff --git a/apis/runtime.sagemaker/2017-05-13/api-2.json b/apis/runtime.sagemaker/2017-05-13/api-2.json index 79ac8bac7aa..7914e0dbd2e 100644 --- a/apis/runtime.sagemaker/2017-05-13/api-2.json +++ b/apis/runtime.sagemaker/2017-05-13/api-2.json @@ -266,6 +266,11 @@ "shape":"InferenceComponentHeader", "location":"header", "locationName":"X-Amzn-SageMaker-Inference-Component" + }, + "SessionId":{ + "shape":"SessionIdOrNewSessionConstantHeader", + "location":"header", + "locationName":"X-Amzn-SageMaker-Session-Id" } }, "payload":"Body" @@ -289,6 +294,16 @@ "shape":"CustomAttributesHeader", "location":"header", "locationName":"X-Amzn-SageMaker-Custom-Attributes" + }, + "NewSessionId":{ + "shape":"NewSessionResponseHeader", + "location":"header", + "locationName":"X-Amzn-SageMaker-New-Session-Id" + }, + "ClosedSessionId":{ + "shape":"SessionIdHeader", + "location":"header", + "locationName":"X-Amzn-SageMaker-Closed-Session-Id" } }, "payload":"Body" @@ -340,6 +355,11 @@ "shape":"InferenceComponentHeader", "location":"header", "locationName":"X-Amzn-SageMaker-Inference-Component" + }, + "SessionId":{ + "shape":"SessionIdHeader", + "location":"header", + "locationName":"X-Amzn-SageMaker-Session-Id" } }, "payload":"Body" @@ -401,6 +421,11 @@ "exception":true, "synthetic":true }, + "NewSessionResponseHeader":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*;\\sExpires=[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$" + }, "PartBlob":{ "type":"blob", "sensitive":true @@ -439,6 +464,16 @@ "fault":true, "synthetic":true }, + "SessionIdHeader":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "SessionIdOrNewSessionConstantHeader":{ + "type":"string", + "max":256, + "pattern":"^(NEW_SESSION)$|^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, "StatusCode":{"type":"integer"}, "TargetContainerHostnameHeader":{ "type":"string", diff --git a/apis/runtime.sagemaker/2017-05-13/docs-2.json b/apis/runtime.sagemaker/2017-05-13/docs-2.json index d61e4f69e26..375342ce554 100644 --- a/apis/runtime.sagemaker/2017-05-13/docs-2.json +++ b/apis/runtime.sagemaker/2017-05-13/docs-2.json @@ -172,6 +172,12 @@ "ResponseStream$ModelStreamError": "

An error occurred while streaming the response body. This error can have the following error codes:

ModelInvocationTimeExceeded

The model failed to finish sending the response within the timeout period allowed by Amazon SageMaker.

StreamBroken

The Transmission Control Protocol (TCP) connection between the client and the model was reset or closed.

" } }, + "NewSessionResponseHeader": { + "base": null, + "refs": { + "InvokeEndpointOutput$NewSessionId": "

If you created a stateful session with your request, the ID and expiration time that the model assigns to that session.

" + } + }, "PartBlob": { "base": null, "refs": { @@ -201,6 +207,19 @@ "refs": { } }, + "SessionIdHeader": { + "base": null, + "refs": { + "InvokeEndpointOutput$ClosedSessionId": "

If you closed a stateful session with your request, the ID of that session.

", + "InvokeEndpointWithResponseStreamInput$SessionId": "

The ID of a stateful session to handle your request.

You can't create a stateful session by using the InvokeEndpointWithResponseStream action. Instead, you can create one by using the InvokeEndpoint action. In your request, you specify NEW_SESSION for the SessionId request parameter. The response to that request provides the session ID for the NewSessionId response parameter.

" + } + }, + "SessionIdOrNewSessionConstantHeader": { + "base": null, + "refs": { + "InvokeEndpointInput$SessionId": "

Creates a stateful session or identifies an existing one. You can do one of the following:

With a stateful session, you can send multiple requests to a stateful model. When you create a session with a stateful model, the model must create the session ID and set the expiration time. The model must also provide that information in the response to your request. You can get the ID and timestamp from the NewSessionId response parameter. For any subsequent request where you specify that session ID, SageMaker routes the request to the same instance that supports the session.

" + } + }, "StatusCode": { "base": null, "refs": { diff --git a/apis/sagemaker/2017-07-24/api-2.json b/apis/sagemaker/2017-07-24/api-2.json index c782fdec499..0f0faade779 100644 --- a/apis/sagemaker/2017-07-24/api-2.json +++ b/apis/sagemaker/2017-07-24/api-2.json @@ -5930,9 +5930,10 @@ "InstanceGroupName":{"shape":"ClusterInstanceGroupName"}, "InstanceType":{"shape":"ClusterInstanceType"}, "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, - "ExecutionRole":{"shape":"IAMRoleArn"}, + "ExecutionRole":{"shape":"RoleArn"}, "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"}, - "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"} + "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"}, + "OnStartDeepHealthChecks":{"shape":"OnStartDeepHealthChecks"} } }, "ClusterInstanceGroupDetailsList":{ @@ -5959,9 +5960,10 @@ "InstanceGroupName":{"shape":"ClusterInstanceGroupName"}, "InstanceType":{"shape":"ClusterInstanceType"}, "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, - "ExecutionRole":{"shape":"IAMRoleArn"}, + "ExecutionRole":{"shape":"RoleArn"}, "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"}, - "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"} + "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"}, + "OnStartDeepHealthChecks":{"shape":"OnStartDeepHealthChecks"} } }, "ClusterInstanceGroupSpecifications":{ @@ -5984,7 +5986,8 @@ "Failure", "Pending", "ShuttingDown", - "SystemUpdating" + "SystemUpdating", + "DeepHealthCheckInProgress" ] }, "ClusterInstanceStatusDetails":{ @@ -6100,6 +6103,13 @@ "min":1, "pattern":"^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$" }, + "ClusterNodeRecovery":{ + "type":"string", + "enum":[ + "Automatic", + "None" + ] + }, "ClusterNodeSummaries":{ "type":"list", "member":{"shape":"ClusterNodeSummary"} @@ -6125,6 +6135,20 @@ "type":"integer", "min":0 }, + "ClusterOrchestrator":{ + "type":"structure", + "required":["Eks"], + "members":{ + "Eks":{"shape":"ClusterOrchestratorEksConfig"} + } + }, + "ClusterOrchestratorEksConfig":{ + "type":"structure", + "required":["ClusterArn"], + "members":{ + "ClusterArn":{"shape":"EksClusterArn"} + } + }, "ClusterPrivateDnsHostname":{ "type":"string", "pattern":"^ip-((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)-?\\b){4}\\..*$" @@ -6794,7 +6818,9 @@ "ClusterName":{"shape":"ClusterName"}, "InstanceGroups":{"shape":"ClusterInstanceGroupSpecifications"}, "VpcConfig":{"shape":"VpcConfig"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "Orchestrator":{"shape":"ClusterOrchestrator"}, + "NodeRecovery":{"shape":"ClusterNodeRecovery"} } }, "CreateClusterResponse":{ @@ -8353,6 +8379,13 @@ "max":20, "min":0 }, + "DeepHealthCheckType":{ + "type":"string", + "enum":[ + "InstanceStress", + "InstanceConnectivity" + ] + }, "DefaultEbsStorageSettings":{ "type":"structure", "required":[ @@ -9268,7 +9301,9 @@ "CreationTime":{"shape":"Timestamp"}, "FailureMessage":{"shape":"String"}, "InstanceGroups":{"shape":"ClusterInstanceGroupDetailsList"}, - "VpcConfig":{"shape":"VpcConfig"} + "VpcConfig":{"shape":"VpcConfig"}, + "Orchestrator":{"shape":"ClusterOrchestrator"}, + "NodeRecovery":{"shape":"ClusterNodeRecovery"} } }, "DescribeCodeRepositoryInput":{ @@ -11573,6 +11608,12 @@ "max":10, "pattern":"\\d+" }, + "EksClusterArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[a-z\\-]*:eks:[a-z0-9\\-]*:[0-9]{12}:cluster\\/[0-9A-Za-z][A-Za-z0-9\\-_]{0,99}$" + }, "EmrServerlessComputeConfig":{ "type":"structure", "required":["ExecutionRoleARN"], @@ -13372,12 +13413,6 @@ "type":"integer", "min":1 }, - "IAMRoleArn":{ - "type":"string", - "max":2048, - "min":20, - "pattern":"^arn:aws[a-z\\-]*:iam::\\d{12}:role/[\\w+=,.@-]{1,64}$" - }, "IamIdentity":{ "type":"structure", "members":{ @@ -18474,6 +18509,12 @@ "Groups":{"shape":"Groups"} } }, + "OnStartDeepHealthChecks":{ + "type":"list", + "member":{"shape":"DeepHealthCheckType"}, + "max":2, + "min":1 + }, "OnlineStoreConfig":{ "type":"structure", "members":{ @@ -23507,7 +23548,8 @@ ], "members":{ "ClusterName":{"shape":"ClusterNameOrArn"}, - "InstanceGroups":{"shape":"ClusterInstanceGroupSpecifications"} + "InstanceGroups":{"shape":"ClusterInstanceGroupSpecifications"}, + "NodeRecovery":{"shape":"ClusterNodeRecovery"} } }, "UpdateClusterResponse":{ diff --git a/apis/sagemaker/2017-07-24/docs-2.json b/apis/sagemaker/2017-07-24/docs-2.json index 44c2c48147f..8d65f851b2b 100644 --- a/apis/sagemaker/2017-07-24/docs-2.json +++ b/apis/sagemaker/2017-07-24/docs-2.json @@ -677,7 +677,7 @@ "AppLifecycleManagement": { "base": "

Settings that are used to configure and manage the lifecycle of Amazon SageMaker Studio applications.

", "refs": { - "CodeEditorAppSettings$AppLifecycleManagement": "

Settings that are used to configure and manage the lifecycle of CodeEditor applications.

", + "CodeEditorAppSettings$AppLifecycleManagement": "

Settings that are used to configure and manage the lifecycle of CodeEditor applications.

", "JupyterLabAppSettings$AppLifecycleManagement": "

Indicates whether idle shutdown is activated for JupyterLab applications.

" } }, @@ -2227,6 +2227,14 @@ "DescribeClusterNodeRequest$NodeId": "

The ID of the SageMaker HyperPod cluster node.

" } }, + "ClusterNodeRecovery": { + "base": null, + "refs": { + "CreateClusterRequest$NodeRecovery": "

The node recovery mode for the SageMaker HyperPod cluster. When set to Automatic, SageMaker HyperPod will automatically reboot or replace faulty nodes when issues are detected. When set to None, cluster administrators will need to manually manage any faulty cluster instances.

", + "DescribeClusterResponse$NodeRecovery": "

The node recovery mode configured for the SageMaker HyperPod cluster.

", + "UpdateClusterRequest$NodeRecovery": "

The node recovery mode to be applied to the SageMaker HyperPod cluster.

" + } + }, "ClusterNodeSummaries": { "base": null, "refs": { @@ -2245,6 +2253,19 @@ "ClusterInstanceGroupDetails$CurrentCount": "

The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.

" } }, + "ClusterOrchestrator": { + "base": "

The type of orchestrator used for the SageMaker HyperPod cluster.

", + "refs": { + "CreateClusterRequest$Orchestrator": "

The type of orchestrator to use for the SageMaker HyperPod cluster. Currently, the only supported value is \"eks\", which is to use an Amazon Elastic Kubernetes Service (EKS) cluster as the orchestrator.

", + "DescribeClusterResponse$Orchestrator": "

The type of orchestrator used for the SageMaker HyperPod cluster.

" + } + }, + "ClusterOrchestratorEksConfig": { + "base": "

The configuration settings for the Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.

", + "refs": { + "ClusterOrchestrator$Eks": "

The Amazon EKS cluster used as the orchestrator for the SageMaker HyperPod cluster.

" + } + }, "ClusterPrivateDnsHostname": { "base": null, "refs": { @@ -3616,6 +3637,12 @@ "TrainingJob$DebugRuleEvaluationStatuses": "

Information about the evaluation status of the rules for the training job.

" } }, + "DeepHealthCheckType": { + "base": null, + "refs": { + "OnStartDeepHealthChecks$member": null + } + }, "DefaultEbsStorageSettings": { "base": "

A collection of default EBS storage settings that apply to spaces created within a domain or user profile.

", "refs": { @@ -5330,6 +5357,12 @@ "DescribeUserProfileResponse$HomeEfsFileSystemUid": "

The ID of the user's profile in the Amazon Elastic File System volume.

" } }, + "EksClusterArn": { + "base": null, + "refs": { + "ClusterOrchestratorEksConfig$ClusterArn": "

The Amazon Resource Name (ARN) of the Amazon EKS cluster associated with the SageMaker HyperPod cluster.

" + } + }, "EmrServerlessComputeConfig": { "base": "

This data type is intended for use exclusively by SageMaker Canvas and cannot be used in other contexts at the moment.

Specifies the compute configuration for the EMR Serverless job.

", "refs": { @@ -7284,13 +7317,6 @@ "HyperbandStrategyConfig$MinResource": "

The minimum number of resources (such as epochs) that can be used by a training job launched by a hyperparameter tuning job. If the value for MinResource has not been reached, the training job is not stopped by Hyperband.

" } }, - "IAMRoleArn": { - "base": null, - "refs": { - "ClusterInstanceGroupDetails$ExecutionRole": "

The execution role for the instance group to assume.

", - "ClusterInstanceGroupSpecification$ExecutionRole": "

Specifies an IAM execution role to be assumed by the instance group.

" - } - }, "IamIdentity": { "base": "

The IAM Identity details associated with the user. These details are associated with model package groups, model packages and project entities only.

", "refs": { @@ -11606,6 +11632,13 @@ "MemberDefinition$OidcMemberDefinition": "

A list user groups that exist in your OIDC Identity Provider (IdP). One to ten groups can be used to create a single private work team. When you add a user group to the list of Groups, you can add that user group to one or more private work teams. If you add a user group to a private work team, all workers in that user group are added to the work team.

" } }, + "OnStartDeepHealthChecks": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$OnStartDeepHealthChecks": "

A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.

", + "ClusterInstanceGroupSpecification$OnStartDeepHealthChecks": "

A flag indicating whether deep health checks should be performed when the cluster instance group is created or updated.

" + } + }, "OnlineStoreConfig": { "base": "

Use this to specify the Amazon Web Services Key Management Service (KMS) Key ID, or KMSKeyId, for at rest data encryption. You can turn OnlineStore on or off by specifying the EnableOnlineStore flag at General Assembly.

The default value is False.

", "refs": { @@ -13537,6 +13570,8 @@ "refs": { "AlgorithmValidationSpecification$ValidationRole": "

The IAM roles that SageMaker uses to run the training jobs.

", "AssumableRoleArns$member": null, + "ClusterInstanceGroupDetails$ExecutionRole": "

The execution role for the instance group to assume.

", + "ClusterInstanceGroupSpecification$ExecutionRole": "

Specifies an IAM execution role to be assumed by the instance group.

", "CreateAutoMLJobRequest$RoleArn": "

The ARN of the role that is used to access the data.

", "CreateAutoMLJobV2Request$RoleArn": "

The ARN of the role that is used to access the data.

", "CreateCompilationJobRequest$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.

During model compilation, Amazon SageMaker needs your permission to:

You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. For more information, see Amazon SageMaker Roles.

", diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 5eaaff00af1..8a2a8b1b042 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.972.0 (2024-09-09) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.971.0 (2024-09-04) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index a10fb69ed77..91051144439 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.971.0 +1.972.0 diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index f3745188fe5..b4355eba40c 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -1757,6 +1757,12 @@ "tags" : [ "dualstack" ] } ] }, + "eu-central-2" : { + "variants" : [ { + "hostname" : "appmesh.eu-central-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, "eu-north-1" : { "variants" : [ { "hostname" : "appmesh.eu-north-1.api.aws", @@ -1769,6 +1775,12 @@ "tags" : [ "dualstack" ] } ] }, + "eu-south-2" : { + "variants" : [ { + "hostname" : "appmesh.eu-south-2.api.aws", + "tags" : [ "dualstack" ] + } ] + }, "eu-west-1" : { "variants" : [ { "hostname" : "appmesh.eu-west-1.api.aws", diff --git a/gems/aws-sdk-dynamodb/CHANGELOG.md b/gems/aws-sdk-dynamodb/CHANGELOG.md index 6d0b41ff742..d9082dc0834 100644 --- a/gems/aws-sdk-dynamodb/CHANGELOG.md +++ b/gems/aws-sdk-dynamodb/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.120.0 (2024-09-09) +------------------ + +* Feature - Doc-only update for DynamoDB. Added information about async behavior for TagResource and UntagResource APIs and updated the description of ResourceInUseException. + 1.119.0 (2024-09-03) ------------------ diff --git a/gems/aws-sdk-dynamodb/VERSION b/gems/aws-sdk-dynamodb/VERSION index 46cd9694132..499526a0114 100644 --- a/gems/aws-sdk-dynamodb/VERSION +++ b/gems/aws-sdk-dynamodb/VERSION @@ -1 +1 @@ -1.119.0 +1.120.0 diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb index f6540fd7ba4..dd26a922d50 100644 --- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb +++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb.rb @@ -54,6 +54,6 @@ # @!group service module Aws::DynamoDB - GEM_VERSION = '1.119.0' + GEM_VERSION = '1.120.0' end diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb index 65d2381d7ab..e2cb3ac5502 100644 --- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb +++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/client.rb @@ -6502,6 +6502,18 @@ def scan(params = {}, options = {}) # and Cost Management console for cost allocation tracking. You can call # TagResource up to five times per second, per account. # + # * `TagResource` is an asynchronous operation. If you issue a + # ListTagsOfResource request immediately after a `TagResource` + # request, DynamoDB might return your previous tag set, if there was + # one, or an empty tag set. This is because `ListTagsOfResource` uses + # an eventually consistent query, and the metadata for your tags or + # table might not be available at that moment. Wait for a few seconds, + # and then try the `ListTagsOfResource` request again. + # + # * The application or removal of tags using `TagResource` and + # `UntagResource` APIs is eventually consistent. `ListTagsOfResource` + # API will only reflect the changes after a few seconds. + # # For an overview on tagging DynamoDB resources, see [Tagging for # DynamoDB][1] in the *Amazon DynamoDB Developer Guide*. # @@ -6851,6 +6863,18 @@ def transact_write_items(params = {}, options = {}) # Removes the association of tags from an Amazon DynamoDB resource. You # can call `UntagResource` up to five times per second, per account. # + # * `UntagResource` is an asynchronous operation. If you issue a + # ListTagsOfResource request immediately after an `UntagResource` + # request, DynamoDB might return your previous tag set, if there was + # one, or an empty tag set. This is because `ListTagsOfResource` uses + # an eventually consistent query, and the metadata for your tags or + # table might not be available at that moment. Wait for a few seconds, + # and then try the `ListTagsOfResource` request again. + # + # * The application or removal of tags using `TagResource` and + # `UntagResource` APIs is eventually consistent. `ListTagsOfResource` + # API will only reflect the changes after a few seconds. + # # For an overview on tagging DynamoDB resources, see [Tagging for # DynamoDB][1] in the *Amazon DynamoDB Developer Guide*. # @@ -8393,7 +8417,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-dynamodb' - context[:gem_version] = '1.119.0' + context[:gem_version] = '1.120.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb index 1b6ae995214..e4efaa75448 100644 --- a/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb +++ b/gems/aws-sdk-dynamodb/lib/aws-sdk-dynamodb/types.rb @@ -7596,8 +7596,16 @@ class RequestLimitExceeded < Struct.new( end # The operation conflicts with the resource's availability. For - # example, you attempted to recreate an existing table, or tried to - # delete a table currently in the `CREATING` state. + # example: + # + # * You attempted to recreate an existing table. + # + # * You tried to delete a table currently in the `CREATING` state. + # + # * You tried to update a resource that was already being updated. + # + # When appropriate, wait for the ongoing update to complete and attempt + # the request again. # # @!attribute [rw] message # The resource which is being attempted to be changed is in use. diff --git a/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md b/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md index 9a1a1e0a27f..c268972206c 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md +++ b/gems/aws-sdk-elasticloadbalancingv2/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.111.0 (2024-09-09) +------------------ + +* Feature - Add paginators for the ELBv2 DescribeListenerCertificates and DescribeRules APIs. Fix broken waiter for the ELBv2 DescribeLoadBalancers API. + 1.110.0 (2024-09-03) ------------------ diff --git a/gems/aws-sdk-elasticloadbalancingv2/VERSION b/gems/aws-sdk-elasticloadbalancingv2/VERSION index 1916b6b587d..d313a193da0 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/VERSION +++ b/gems/aws-sdk-elasticloadbalancingv2/VERSION @@ -1 +1 @@ -1.110.0 +1.111.0 diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb index a9316ad2b02..2284b488abd 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2.rb @@ -53,6 +53,6 @@ # @!group service module Aws::ElasticLoadBalancingV2 - GEM_VERSION = '1.110.0' + GEM_VERSION = '1.111.0' end diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb index 29dc34524f0..718bf3b91fd 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client.rb @@ -2178,6 +2178,8 @@ def describe_listener_attributes(params = {}, options = {}) # * {Types::DescribeListenerCertificatesOutput#certificates #certificates} => Array<Types::Certificate> # * {Types::DescribeListenerCertificatesOutput#next_marker #next_marker} => String # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # # @example Request syntax with placeholder values # # resp = client.describe_listener_certificates({ @@ -2555,6 +2557,8 @@ def describe_load_balancers(params = {}, options = {}) # * {Types::DescribeRulesOutput#rules #rules} => Array<Types::Rule> # * {Types::DescribeRulesOutput#next_marker #next_marker} => String # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # # # @example Example: To describe a rule # @@ -5078,7 +5082,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-elasticloadbalancingv2' - context[:gem_version] = '1.110.0' + context[:gem_version] = '1.111.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb index 204009b0ae3..eec4de958e0 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/client_api.rb @@ -1495,6 +1495,11 @@ module ClientApi o.input = Shapes::ShapeRef.new(shape: DescribeListenerCertificatesInput) o.output = Shapes::ShapeRef.new(shape: DescribeListenerCertificatesOutput) o.errors << Shapes::ShapeRef.new(shape: ListenerNotFoundException) + o[:pager] = Aws::Pager.new( + tokens: { + "next_marker" => "marker" + } + ) end) api.add_operation(:describe_listeners, Seahorse::Model::Operation.new.tap do |o| @@ -1545,6 +1550,11 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ListenerNotFoundException) o.errors << Shapes::ShapeRef.new(shape: RuleNotFoundException) o.errors << Shapes::ShapeRef.new(shape: UnsupportedProtocolException) + o[:pager] = Aws::Pager.new( + tokens: { + "next_marker" => "marker" + } + ) end) api.add_operation(:describe_ssl_policies, Seahorse::Model::Operation.new.tap do |o| diff --git a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/waiters.rb b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/waiters.rb index 74ffa22515a..4bad4694274 100644 --- a/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/waiters.rb +++ b/gems/aws-sdk-elasticloadbalancingv2/lib/aws-sdk-elasticloadbalancingv2/waiters.rb @@ -108,7 +108,7 @@ def initialize(options) { "state" => "retry", "matcher" => "error", - "expected" => "LoadBalancerNotFound" + "expected" => "LoadBalancerNotFoundException" } ] ) @@ -149,7 +149,7 @@ def initialize(options) }, { "matcher" => "error", - "expected" => "LoadBalancerNotFound", + "expected" => "LoadBalancerNotFoundException", "state" => "retry" } ] @@ -192,7 +192,7 @@ def initialize(options) }, { "matcher" => "error", - "expected" => "LoadBalancerNotFound", + "expected" => "LoadBalancerNotFoundException", "state" => "success" } ] diff --git a/gems/aws-sdk-ivsrealtime/CHANGELOG.md b/gems/aws-sdk-ivsrealtime/CHANGELOG.md index 407d9ea085d..7cedf516c91 100644 --- a/gems/aws-sdk-ivsrealtime/CHANGELOG.md +++ b/gems/aws-sdk-ivsrealtime/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.27.0 (2024-09-09) +------------------ + +* Feature - IVS Real-Time now offers customers the ability to broadcast to Stages using RTMP(S). + 1.26.0 (2024-09-03) ------------------ diff --git a/gems/aws-sdk-ivsrealtime/VERSION b/gems/aws-sdk-ivsrealtime/VERSION index 5ff8c4f5d2a..5db08bf2dc5 100644 --- a/gems/aws-sdk-ivsrealtime/VERSION +++ b/gems/aws-sdk-ivsrealtime/VERSION @@ -1 +1 @@ -1.26.0 +1.27.0 diff --git a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime.rb b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime.rb index 68ff10591e4..c144b2f73e1 100644 --- a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime.rb +++ b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime.rb @@ -53,6 +53,6 @@ # @!group service module Aws::IVSRealTime - GEM_VERSION = '1.26.0' + GEM_VERSION = '1.27.0' end diff --git a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client.rb b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client.rb index 37d7de152f8..ff62abcf0bf 100644 --- a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client.rb +++ b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client.rb @@ -448,14 +448,15 @@ def initialize(*args) # # @option params [Hash] :tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @return [Types::CreateEncoderConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -496,6 +497,95 @@ def create_encoder_configuration(params = {}, options = {}) req.send_request(options) end + # Creates a new IngestConfiguration resource, used to specify the ingest + # protocol for a stage. + # + # @option params [String] :name + # Optional name that can be specified for the IngestConfiguration being + # created. + # + # @option params [String] :stage_arn + # ARN of the stage with which the IngestConfiguration is associated. + # + # @option params [String] :user_id + # Customer-assigned name to help identify the participant using the + # IngestConfiguration; this can be used to link a participant to a user + # in the customer’s own systems. This can be any UTF-8 encoded text. + # *This field is exposed to all stage participants and should not be + # used for personally identifying, confidential, or sensitive + # information.* + # + # @option params [Hash] :attributes + # Application-provided attributes to store in the IngestConfiguration + # and attach to a stage. Map keys and values can contain UTF-8 encoded + # text. The maximum length of this field is 1 KB total. *This field is + # exposed to all stage participants and should not be used for + # personally identifying, confidential, or sensitive information.* + # + # @option params [required, String] :ingest_protocol + # Type of ingest protocol that the user employs to broadcast. If this is + # set to `RTMP`, `insecureIngest` must be set to `true`. + # + # @option params [Boolean] :insecure_ingest + # Whether the stage allows insecure RTMP ingest. This must be set to + # `true`, if `ingestProtocol` is set to `RTMP`. Default: `false`. + # + # @option params [Hash] :tags + # Tags attached to the resource. Array of maps, each of the form + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. + # + # + # + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html + # + # @return [Types::CreateIngestConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CreateIngestConfigurationResponse#ingest_configuration #ingest_configuration} => Types::IngestConfiguration + # + # @example Request syntax with placeholder values + # + # resp = client.create_ingest_configuration({ + # name: "IngestConfigurationName", + # stage_arn: "IngestConfigurationStageArn", + # user_id: "UserId", + # attributes: { + # "String" => "String", + # }, + # ingest_protocol: "RTMP", # required, accepts RTMP, RTMPS + # insecure_ingest: false, + # tags: { + # "TagKey" => "TagValue", + # }, + # }) + # + # @example Response structure + # + # resp.ingest_configuration.name #=> String + # resp.ingest_configuration.arn #=> String + # resp.ingest_configuration.ingest_protocol #=> String, one of "RTMP", "RTMPS" + # resp.ingest_configuration.stream_key #=> String + # resp.ingest_configuration.stage_arn #=> String + # resp.ingest_configuration.participant_id #=> String + # resp.ingest_configuration.state #=> String, one of "ACTIVE", "INACTIVE" + # resp.ingest_configuration.user_id #=> String + # resp.ingest_configuration.attributes #=> Hash + # resp.ingest_configuration.attributes["String"] #=> String + # resp.ingest_configuration.tags #=> Hash + # resp.ingest_configuration.tags["TagKey"] #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateIngestConfiguration AWS API Documentation + # + # @overload create_ingest_configuration(params = {}) + # @param [Hash] params ({}) + def create_ingest_configuration(params = {}, options = {}) + req = build_request(:create_ingest_configuration, params) + req.send_request(options) + end + # Creates an additional token for a specified stage. This can be done # after stage creation or when tokens expire. Tokens always are scoped # to the stage for which they are created. @@ -575,14 +665,15 @@ def create_participant_token(params = {}, options = {}) # # @option params [Hash] :tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @option params [Types::AutoParticipantRecordingConfiguration] :auto_participant_recording_configuration # Configuration object for individual participant recording, to attach @@ -628,6 +719,8 @@ def create_participant_token(params = {}, options = {}) # resp.stage.auto_participant_recording_configuration.media_types[0] #=> String, one of "AUDIO_VIDEO", "AUDIO_ONLY" # resp.stage.endpoints.events #=> String # resp.stage.endpoints.whip #=> String + # resp.stage.endpoints.rtmp #=> String + # resp.stage.endpoints.rtmps #=> String # resp.participant_tokens #=> Array # resp.participant_tokens[0].participant_id #=> String # resp.participant_tokens[0].token #=> String @@ -662,14 +755,15 @@ def create_stage(params = {}, options = {}) # # @option params [Hash] :tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @return [Types::CreateStorageConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -727,6 +821,38 @@ def delete_encoder_configuration(params = {}, options = {}) req.send_request(options) end + # Deletes a specified IngestConfiguration, so it can no longer be used + # to broadcast. An IngestConfiguration cannot be deleted if the + # publisher is actively streaming to a stage, unless `force` is set to + # `true`. + # + # @option params [required, String] :arn + # ARN of the IngestConfiguration. + # + # @option params [Boolean] :force + # Optional field to force deletion of the IngestConfiguration. If this + # is set to `true` when a participant is actively publishing, the + # participant is disconnected from the stage, followed by deletion of + # the IngestConfiguration. Default: `false`. + # + # @return [Struct] Returns an empty {Seahorse::Client::Response response}. + # + # @example Request syntax with placeholder values + # + # resp = client.delete_ingest_configuration({ + # arn: "IngestConfigurationArn", # required + # force: false, + # }) + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/DeleteIngestConfiguration AWS API Documentation + # + # @overload delete_ingest_configuration(params = {}) + # @param [Hash] params ({}) + def delete_ingest_configuration(params = {}, options = {}) + req = build_request(:delete_ingest_configuration, params) + req.send_request(options) + end + # Deletes the specified public key used to sign stage participant # tokens. This invalidates future participant tokens generated using the # key pair’s private key. @@ -752,7 +878,9 @@ def delete_public_key(params = {}, options = {}) end # Shuts down and deletes the specified stage (disconnecting all - # participants). + # participants). This operation also removes the `stageArn` from the + # associated IngestConfiguration, if there are participants using the + # IngestConfiguration to publish to the stage. # # @option params [required, String] :arn # ARN of the stage to be deleted. @@ -802,15 +930,18 @@ def delete_storage_configuration(params = {}, options = {}) req.send_request(options) end - # Disconnects a specified participant and revokes the participant - # permanently from a specified stage. + # Disconnects a specified participant from a specified stage. If the + # participant is publishing using an IngestConfiguration, + # DisconnectParticipant also updates the `stageArn` in the + # IngestConfiguration to be an empty string. # # @option params [required, String] :stage_arn # ARN of the stage to which the participant is attached. # # @option params [required, String] :participant_id - # Identifier of the participant to be disconnected. This is assigned by - # IVS and returned by CreateParticipantToken. + # Identifier of the participant to be disconnected. IVS assigns this; it + # is returned by CreateParticipantToken (for streams using WebRTC + # ingest) or CreateIngestConfiguration (for streams using RTMP ingest). # # @option params [String] :reason # Description of why this participant is being disconnected. @@ -931,6 +1062,45 @@ def get_encoder_configuration(params = {}, options = {}) req.send_request(options) end + # Gets information about the specified IngestConfiguration. + # + # @option params [required, String] :arn + # ARN of the ingest for which the information is to be retrieved. + # + # @return [Types::GetIngestConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::GetIngestConfigurationResponse#ingest_configuration #ingest_configuration} => Types::IngestConfiguration + # + # @example Request syntax with placeholder values + # + # resp = client.get_ingest_configuration({ + # arn: "IngestConfigurationArn", # required + # }) + # + # @example Response structure + # + # resp.ingest_configuration.name #=> String + # resp.ingest_configuration.arn #=> String + # resp.ingest_configuration.ingest_protocol #=> String, one of "RTMP", "RTMPS" + # resp.ingest_configuration.stream_key #=> String + # resp.ingest_configuration.stage_arn #=> String + # resp.ingest_configuration.participant_id #=> String + # resp.ingest_configuration.state #=> String, one of "ACTIVE", "INACTIVE" + # resp.ingest_configuration.user_id #=> String + # resp.ingest_configuration.attributes #=> Hash + # resp.ingest_configuration.attributes["String"] #=> String + # resp.ingest_configuration.tags #=> Hash + # resp.ingest_configuration.tags["TagKey"] #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetIngestConfiguration AWS API Documentation + # + # @overload get_ingest_configuration(params = {}) + # @param [Hash] params ({}) + def get_ingest_configuration(params = {}, options = {}) + req = build_request(:get_ingest_configuration, params) + req.send_request(options) + end + # Gets information about the specified participant token. # # @option params [required, String] :stage_arn @@ -973,6 +1143,7 @@ def get_encoder_configuration(params = {}, options = {}) # resp.participant.recording_s3_bucket_name #=> String # resp.participant.recording_s3_prefix #=> String # resp.participant.recording_state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "STOPPED", "FAILED", "DISABLED" + # resp.participant.protocol #=> String, one of "UNKNOWN", "WHIP", "RTMP", "RTMPS" # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetParticipant AWS API Documentation # @@ -1043,6 +1214,8 @@ def get_public_key(params = {}, options = {}) # resp.stage.auto_participant_recording_configuration.media_types[0] #=> String, one of "AUDIO_VIDEO", "AUDIO_ONLY" # resp.stage.endpoints.events #=> String # resp.stage.endpoints.whip #=> String + # resp.stage.endpoints.rtmp #=> String + # resp.stage.endpoints.rtmps #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetStage AWS API Documentation # @@ -1129,14 +1302,15 @@ def get_storage_configuration(params = {}, options = {}) # # @option params [Hash] :tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @return [Types::ImportPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -1271,6 +1445,61 @@ def list_encoder_configurations(params = {}, options = {}) req.send_request(options) end + # Lists all IngestConfigurations in your account, in the AWS region + # where the API request is processed. + # + # @option params [String] :filter_by_stage_arn + # Filters the response list to match the specified stage ARN. Only one + # filter (by stage ARN or by state) can be used at a time. + # + # @option params [String] :filter_by_state + # Filters the response list to match the specified state. Only one + # filter (by stage ARN or by state) can be used at a time. + # + # @option params [String] :next_token + # The first IngestConfiguration to retrieve. This is used for + # pagination; see the `nextToken` response field. + # + # @option params [Integer] :max_results + # Maximum number of results to return. Default: 50. + # + # @return [Types::ListIngestConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListIngestConfigurationsResponse#ingest_configurations #ingest_configurations} => Array<Types::IngestConfigurationSummary> + # * {Types::ListIngestConfigurationsResponse#next_token #next_token} => String + # + # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}. + # + # @example Request syntax with placeholder values + # + # resp = client.list_ingest_configurations({ + # filter_by_stage_arn: "StageArn", + # filter_by_state: "ACTIVE", # accepts ACTIVE, INACTIVE + # next_token: "PaginationToken", + # max_results: 1, + # }) + # + # @example Response structure + # + # resp.ingest_configurations #=> Array + # resp.ingest_configurations[0].name #=> String + # resp.ingest_configurations[0].arn #=> String + # resp.ingest_configurations[0].ingest_protocol #=> String, one of "RTMP", "RTMPS" + # resp.ingest_configurations[0].stage_arn #=> String + # resp.ingest_configurations[0].participant_id #=> String + # resp.ingest_configurations[0].state #=> String, one of "ACTIVE", "INACTIVE" + # resp.ingest_configurations[0].user_id #=> String + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListIngestConfigurations AWS API Documentation + # + # @overload list_ingest_configurations(params = {}) + # @param [Hash] params ({}) + def list_ingest_configurations(params = {}, options = {}) + req = build_request(:list_ingest_configurations, params) + req.send_request(options) + end + # Lists events for a specified participant that occurred during a # specified stage session. # @@ -1315,7 +1544,7 @@ def list_encoder_configurations(params = {}, options = {}) # resp.events[0].participant_id #=> String # resp.events[0].event_time #=> Time # resp.events[0].remote_participant_id #=> String - # resp.events[0].error_code #=> String, one of "INSUFFICIENT_CAPABILITIES", "QUOTA_EXCEEDED", "PUBLISHER_NOT_FOUND" + # resp.events[0].error_code #=> String, one of "INSUFFICIENT_CAPABILITIES", "QUOTA_EXCEEDED", "PUBLISHER_NOT_FOUND", "BITRATE_EXCEEDED", "RESOLUTION_EXCEEDED", "STREAM_DURATION_EXCEEDED", "INVALID_AUDIO_CODEC", "INVALID_VIDEO_CODEC", "INVALID_PROTOCOL", "INVALID_STREAM_KEY", "REUSE_OF_STREAM_KEY" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListParticipantEvents AWS API Documentation @@ -1612,8 +1841,9 @@ def list_tags_for_resource(params = {}, options = {}) # Starts a Composition from a stage based on the configuration provided # in the request. # - # A Composition is an ephemeral resource that exists after this endpoint - # returns successfully. Composition stops and the resource is deleted: + # A Composition is an ephemeral resource that exists after this + # operation returns successfully. Composition stops and the resource is + # deleted: # # * When StopComposition is called. # @@ -1646,14 +1876,15 @@ def list_tags_for_resource(params = {}, options = {}) # # @option params [Hash] :tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @return [Types::StartCompositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -1783,14 +2014,15 @@ def stop_composition(params = {}, options = {}) # # @option params [required, Hash] :tags # Array of tags to be added or updated. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints beyond what - # is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # @@ -1819,14 +2051,15 @@ def tag_resource(params = {}, options = {}) # # @option params [required, Array] :tag_keys # Array of tags to be removed. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints beyond what - # is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] in + # *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # @@ -1846,6 +2079,52 @@ def untag_resource(params = {}, options = {}) req.send_request(options) end + # Updates a specified IngestConfiguration. Only the stage ARN attached + # to the IngestConfiguration can be updated. An IngestConfiguration that + # is active cannot be updated. + # + # @option params [required, String] :arn + # ARN of the IngestConfiguration, for which the related stage ARN needs + # to be updated. + # + # @option params [String] :stage_arn + # Stage ARN that needs to be updated. + # + # @return [Types::UpdateIngestConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::UpdateIngestConfigurationResponse#ingest_configuration #ingest_configuration} => Types::IngestConfiguration + # + # @example Request syntax with placeholder values + # + # resp = client.update_ingest_configuration({ + # arn: "IngestConfigurationArn", # required + # stage_arn: "IngestConfigurationStageArn", + # }) + # + # @example Response structure + # + # resp.ingest_configuration.name #=> String + # resp.ingest_configuration.arn #=> String + # resp.ingest_configuration.ingest_protocol #=> String, one of "RTMP", "RTMPS" + # resp.ingest_configuration.stream_key #=> String + # resp.ingest_configuration.stage_arn #=> String + # resp.ingest_configuration.participant_id #=> String + # resp.ingest_configuration.state #=> String, one of "ACTIVE", "INACTIVE" + # resp.ingest_configuration.user_id #=> String + # resp.ingest_configuration.attributes #=> Hash + # resp.ingest_configuration.attributes["String"] #=> String + # resp.ingest_configuration.tags #=> Hash + # resp.ingest_configuration.tags["TagKey"] #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateIngestConfiguration AWS API Documentation + # + # @overload update_ingest_configuration(params = {}) + # @param [Hash] params ({}) + def update_ingest_configuration(params = {}, options = {}) + req = build_request(:update_ingest_configuration, params) + req.send_request(options) + end + # Updates a stage’s configuration. # # @option params [required, String] :arn @@ -1886,6 +2165,8 @@ def untag_resource(params = {}, options = {}) # resp.stage.auto_participant_recording_configuration.media_types[0] #=> String, one of "AUDIO_VIDEO", "AUDIO_ONLY" # resp.stage.endpoints.events #=> String # resp.stage.endpoints.whip #=> String + # resp.stage.endpoints.rtmp #=> String + # resp.stage.endpoints.rtmps #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateStage AWS API Documentation # @@ -1914,7 +2195,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-ivsrealtime' - context[:gem_version] = '1.26.0' + context[:gem_version] = '1.27.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client_api.rb b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client_api.rb index 0282bd39c4a..5bcb790608b 100644 --- a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client_api.rb +++ b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/client_api.rb @@ -18,6 +18,7 @@ module ClientApi AutoParticipantRecordingConfiguration = Shapes::StructureShape.new(name: 'AutoParticipantRecordingConfiguration') AutoParticipantRecordingStorageConfigurationArn = Shapes::StringShape.new(name: 'AutoParticipantRecordingStorageConfigurationArn') Bitrate = Shapes::IntegerShape.new(name: 'Bitrate') + Boolean = Shapes::BooleanShape.new(name: 'Boolean') ChannelArn = Shapes::StringShape.new(name: 'ChannelArn') ChannelDestinationConfiguration = Shapes::StructureShape.new(name: 'ChannelDestinationConfiguration') Composition = Shapes::StructureShape.new(name: 'Composition') @@ -29,6 +30,8 @@ module ClientApi ConflictException = Shapes::StructureShape.new(name: 'ConflictException') CreateEncoderConfigurationRequest = Shapes::StructureShape.new(name: 'CreateEncoderConfigurationRequest') CreateEncoderConfigurationResponse = Shapes::StructureShape.new(name: 'CreateEncoderConfigurationResponse') + CreateIngestConfigurationRequest = Shapes::StructureShape.new(name: 'CreateIngestConfigurationRequest') + CreateIngestConfigurationResponse = Shapes::StructureShape.new(name: 'CreateIngestConfigurationResponse') CreateParticipantTokenRequest = Shapes::StructureShape.new(name: 'CreateParticipantTokenRequest') CreateParticipantTokenResponse = Shapes::StructureShape.new(name: 'CreateParticipantTokenResponse') CreateStageRequest = Shapes::StructureShape.new(name: 'CreateStageRequest') @@ -37,6 +40,8 @@ module ClientApi CreateStorageConfigurationResponse = Shapes::StructureShape.new(name: 'CreateStorageConfigurationResponse') DeleteEncoderConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteEncoderConfigurationRequest') DeleteEncoderConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteEncoderConfigurationResponse') + DeleteIngestConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteIngestConfigurationRequest') + DeleteIngestConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteIngestConfigurationResponse') DeletePublicKeyRequest = Shapes::StructureShape.new(name: 'DeletePublicKeyRequest') DeletePublicKeyResponse = Shapes::StructureShape.new(name: 'DeletePublicKeyResponse') DeleteStageRequest = Shapes::StructureShape.new(name: 'DeleteStageRequest') @@ -70,6 +75,8 @@ module ClientApi GetCompositionResponse = Shapes::StructureShape.new(name: 'GetCompositionResponse') GetEncoderConfigurationRequest = Shapes::StructureShape.new(name: 'GetEncoderConfigurationRequest') GetEncoderConfigurationResponse = Shapes::StructureShape.new(name: 'GetEncoderConfigurationResponse') + GetIngestConfigurationRequest = Shapes::StructureShape.new(name: 'GetIngestConfigurationRequest') + GetIngestConfigurationResponse = Shapes::StructureShape.new(name: 'GetIngestConfigurationResponse') GetParticipantRequest = Shapes::StructureShape.new(name: 'GetParticipantRequest') GetParticipantResponse = Shapes::StructureShape.new(name: 'GetParticipantResponse') GetPublicKeyRequest = Shapes::StructureShape.new(name: 'GetPublicKeyRequest') @@ -85,12 +92,23 @@ module ClientApi Height = Shapes::IntegerShape.new(name: 'Height') ImportPublicKeyRequest = Shapes::StructureShape.new(name: 'ImportPublicKeyRequest') ImportPublicKeyResponse = Shapes::StructureShape.new(name: 'ImportPublicKeyResponse') + IngestConfiguration = Shapes::StructureShape.new(name: 'IngestConfiguration') + IngestConfigurationArn = Shapes::StringShape.new(name: 'IngestConfigurationArn') + IngestConfigurationList = Shapes::ListShape.new(name: 'IngestConfigurationList') + IngestConfigurationName = Shapes::StringShape.new(name: 'IngestConfigurationName') + IngestConfigurationStageArn = Shapes::StringShape.new(name: 'IngestConfigurationStageArn') + IngestConfigurationState = Shapes::StringShape.new(name: 'IngestConfigurationState') + IngestConfigurationSummary = Shapes::StructureShape.new(name: 'IngestConfigurationSummary') + IngestProtocol = Shapes::StringShape.new(name: 'IngestProtocol') + InsecureIngest = Shapes::BooleanShape.new(name: 'InsecureIngest') InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException') LayoutConfiguration = Shapes::StructureShape.new(name: 'LayoutConfiguration') ListCompositionsRequest = Shapes::StructureShape.new(name: 'ListCompositionsRequest') ListCompositionsResponse = Shapes::StructureShape.new(name: 'ListCompositionsResponse') ListEncoderConfigurationsRequest = Shapes::StructureShape.new(name: 'ListEncoderConfigurationsRequest') ListEncoderConfigurationsResponse = Shapes::StructureShape.new(name: 'ListEncoderConfigurationsResponse') + ListIngestConfigurationsRequest = Shapes::StructureShape.new(name: 'ListIngestConfigurationsRequest') + ListIngestConfigurationsResponse = Shapes::StructureShape.new(name: 'ListIngestConfigurationsResponse') ListParticipantEventsRequest = Shapes::StructureShape.new(name: 'ListParticipantEventsRequest') ListParticipantEventsResponse = Shapes::StructureShape.new(name: 'ListParticipantEventsResponse') ListParticipantsRequest = Shapes::StructureShape.new(name: 'ListParticipantsRequest') @@ -107,6 +125,7 @@ module ClientApi ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse') MaxCompositionResults = Shapes::IntegerShape.new(name: 'MaxCompositionResults') MaxEncoderConfigurationResults = Shapes::IntegerShape.new(name: 'MaxEncoderConfigurationResults') + MaxIngestConfigurationResults = Shapes::IntegerShape.new(name: 'MaxIngestConfigurationResults') MaxParticipantEventResults = Shapes::IntegerShape.new(name: 'MaxParticipantEventResults') MaxParticipantResults = Shapes::IntegerShape.new(name: 'MaxParticipantResults') MaxPublicKeyResults = Shapes::IntegerShape.new(name: 'MaxPublicKeyResults') @@ -120,6 +139,7 @@ module ClientApi ParticipantClientAttribute = Shapes::StringShape.new(name: 'ParticipantClientAttribute') ParticipantId = Shapes::StringShape.new(name: 'ParticipantId') ParticipantList = Shapes::ListShape.new(name: 'ParticipantList') + ParticipantProtocol = Shapes::StringShape.new(name: 'ParticipantProtocol') ParticipantRecordingFilterByRecordingState = Shapes::StringShape.new(name: 'ParticipantRecordingFilterByRecordingState') ParticipantRecordingMediaType = Shapes::StringShape.new(name: 'ParticipantRecordingMediaType') ParticipantRecordingMediaTypeList = Shapes::ListShape.new(name: 'ParticipantRecordingMediaTypeList') @@ -184,6 +204,7 @@ module ClientApi StorageConfigurationName = Shapes::StringShape.new(name: 'StorageConfigurationName') StorageConfigurationSummary = Shapes::StructureShape.new(name: 'StorageConfigurationSummary') StorageConfigurationSummaryList = Shapes::ListShape.new(name: 'StorageConfigurationSummaryList') + StreamKey = Shapes::StringShape.new(name: 'StreamKey') String = Shapes::StringShape.new(name: 'String') TagKey = Shapes::StringShape.new(name: 'TagKey') TagKeyList = Shapes::ListShape.new(name: 'TagKeyList') @@ -194,6 +215,8 @@ module ClientApi Time = Shapes::TimestampShape.new(name: 'Time', timestampFormat: "iso8601") UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest') UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse') + UpdateIngestConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateIngestConfigurationRequest') + UpdateIngestConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateIngestConfigurationResponse') UpdateStageRequest = Shapes::StructureShape.new(name: 'UpdateStageRequest') UpdateStageResponse = Shapes::StructureShape.new(name: 'UpdateStageResponse') UserId = Shapes::StringShape.new(name: 'UserId') @@ -247,6 +270,18 @@ module ClientApi CreateEncoderConfigurationResponse.add_member(:encoder_configuration, Shapes::ShapeRef.new(shape: EncoderConfiguration, location_name: "encoderConfiguration")) CreateEncoderConfigurationResponse.struct_class = Types::CreateEncoderConfigurationResponse + CreateIngestConfigurationRequest.add_member(:name, Shapes::ShapeRef.new(shape: IngestConfigurationName, location_name: "name")) + CreateIngestConfigurationRequest.add_member(:stage_arn, Shapes::ShapeRef.new(shape: IngestConfigurationStageArn, location_name: "stageArn")) + CreateIngestConfigurationRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, location_name: "userId")) + CreateIngestConfigurationRequest.add_member(:attributes, Shapes::ShapeRef.new(shape: ParticipantAttributes, location_name: "attributes")) + CreateIngestConfigurationRequest.add_member(:ingest_protocol, Shapes::ShapeRef.new(shape: IngestProtocol, required: true, location_name: "ingestProtocol")) + CreateIngestConfigurationRequest.add_member(:insecure_ingest, Shapes::ShapeRef.new(shape: InsecureIngest, location_name: "insecureIngest")) + CreateIngestConfigurationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags")) + CreateIngestConfigurationRequest.struct_class = Types::CreateIngestConfigurationRequest + + CreateIngestConfigurationResponse.add_member(:ingest_configuration, Shapes::ShapeRef.new(shape: IngestConfiguration, location_name: "ingestConfiguration")) + CreateIngestConfigurationResponse.struct_class = Types::CreateIngestConfigurationResponse + CreateParticipantTokenRequest.add_member(:stage_arn, Shapes::ShapeRef.new(shape: StageArn, required: true, location_name: "stageArn")) CreateParticipantTokenRequest.add_member(:duration, Shapes::ShapeRef.new(shape: ParticipantTokenDurationMinutes, location_name: "duration")) CreateParticipantTokenRequest.add_member(:user_id, Shapes::ShapeRef.new(shape: ParticipantTokenUserId, location_name: "userId")) @@ -280,6 +315,12 @@ module ClientApi DeleteEncoderConfigurationResponse.struct_class = Types::DeleteEncoderConfigurationResponse + DeleteIngestConfigurationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: IngestConfigurationArn, required: true, location_name: "arn")) + DeleteIngestConfigurationRequest.add_member(:force, Shapes::ShapeRef.new(shape: Boolean, location_name: "force")) + DeleteIngestConfigurationRequest.struct_class = Types::DeleteIngestConfigurationRequest + + DeleteIngestConfigurationResponse.struct_class = Types::DeleteIngestConfigurationResponse + DeletePublicKeyRequest.add_member(:arn, Shapes::ShapeRef.new(shape: PublicKeyArn, required: true, location_name: "arn")) DeletePublicKeyRequest.struct_class = Types::DeletePublicKeyRequest @@ -366,6 +407,12 @@ module ClientApi GetEncoderConfigurationResponse.add_member(:encoder_configuration, Shapes::ShapeRef.new(shape: EncoderConfiguration, location_name: "encoderConfiguration")) GetEncoderConfigurationResponse.struct_class = Types::GetEncoderConfigurationResponse + GetIngestConfigurationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: IngestConfigurationArn, required: true, location_name: "arn")) + GetIngestConfigurationRequest.struct_class = Types::GetIngestConfigurationRequest + + GetIngestConfigurationResponse.add_member(:ingest_configuration, Shapes::ShapeRef.new(shape: IngestConfiguration, location_name: "ingestConfiguration")) + GetIngestConfigurationResponse.struct_class = Types::GetIngestConfigurationResponse + GetParticipantRequest.add_member(:stage_arn, Shapes::ShapeRef.new(shape: StageArn, required: true, location_name: "stageArn")) GetParticipantRequest.add_member(:session_id, Shapes::ShapeRef.new(shape: StageSessionId, required: true, location_name: "sessionId")) GetParticipantRequest.add_member(:participant_id, Shapes::ShapeRef.new(shape: ParticipantId, required: true, location_name: "participantId")) @@ -414,6 +461,29 @@ module ClientApi ImportPublicKeyResponse.add_member(:public_key, Shapes::ShapeRef.new(shape: PublicKey, location_name: "publicKey")) ImportPublicKeyResponse.struct_class = Types::ImportPublicKeyResponse + IngestConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: IngestConfigurationName, location_name: "name")) + IngestConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: IngestConfigurationArn, required: true, location_name: "arn")) + IngestConfiguration.add_member(:ingest_protocol, Shapes::ShapeRef.new(shape: IngestProtocol, required: true, location_name: "ingestProtocol")) + IngestConfiguration.add_member(:stream_key, Shapes::ShapeRef.new(shape: StreamKey, required: true, location_name: "streamKey")) + IngestConfiguration.add_member(:stage_arn, Shapes::ShapeRef.new(shape: IngestConfigurationStageArn, required: true, location_name: "stageArn")) + IngestConfiguration.add_member(:participant_id, Shapes::ShapeRef.new(shape: ParticipantId, required: true, location_name: "participantId")) + IngestConfiguration.add_member(:state, Shapes::ShapeRef.new(shape: IngestConfigurationState, required: true, location_name: "state")) + IngestConfiguration.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, location_name: "userId")) + IngestConfiguration.add_member(:attributes, Shapes::ShapeRef.new(shape: ParticipantAttributes, location_name: "attributes")) + IngestConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags")) + IngestConfiguration.struct_class = Types::IngestConfiguration + + IngestConfigurationList.member = Shapes::ShapeRef.new(shape: IngestConfigurationSummary) + + IngestConfigurationSummary.add_member(:name, Shapes::ShapeRef.new(shape: IngestConfigurationName, location_name: "name")) + IngestConfigurationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: IngestConfigurationArn, required: true, location_name: "arn")) + IngestConfigurationSummary.add_member(:ingest_protocol, Shapes::ShapeRef.new(shape: IngestProtocol, required: true, location_name: "ingestProtocol")) + IngestConfigurationSummary.add_member(:stage_arn, Shapes::ShapeRef.new(shape: IngestConfigurationStageArn, required: true, location_name: "stageArn")) + IngestConfigurationSummary.add_member(:participant_id, Shapes::ShapeRef.new(shape: ParticipantId, required: true, location_name: "participantId")) + IngestConfigurationSummary.add_member(:state, Shapes::ShapeRef.new(shape: IngestConfigurationState, required: true, location_name: "state")) + IngestConfigurationSummary.add_member(:user_id, Shapes::ShapeRef.new(shape: UserId, location_name: "userId")) + IngestConfigurationSummary.struct_class = Types::IngestConfigurationSummary + InternalServerException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage")) InternalServerException.struct_class = Types::InternalServerException @@ -439,6 +509,16 @@ module ClientApi ListEncoderConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken")) ListEncoderConfigurationsResponse.struct_class = Types::ListEncoderConfigurationsResponse + ListIngestConfigurationsRequest.add_member(:filter_by_stage_arn, Shapes::ShapeRef.new(shape: StageArn, location_name: "filterByStageArn")) + ListIngestConfigurationsRequest.add_member(:filter_by_state, Shapes::ShapeRef.new(shape: IngestConfigurationState, location_name: "filterByState")) + ListIngestConfigurationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken")) + ListIngestConfigurationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxIngestConfigurationResults, location_name: "maxResults")) + ListIngestConfigurationsRequest.struct_class = Types::ListIngestConfigurationsRequest + + ListIngestConfigurationsResponse.add_member(:ingest_configurations, Shapes::ShapeRef.new(shape: IngestConfigurationList, required: true, location_name: "ingestConfigurations")) + ListIngestConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken")) + ListIngestConfigurationsResponse.struct_class = Types::ListIngestConfigurationsResponse + ListParticipantEventsRequest.add_member(:stage_arn, Shapes::ShapeRef.new(shape: StageArn, required: true, location_name: "stageArn")) ListParticipantEventsRequest.add_member(:session_id, Shapes::ShapeRef.new(shape: StageSessionId, required: true, location_name: "sessionId")) ListParticipantEventsRequest.add_member(:participant_id, Shapes::ShapeRef.new(shape: ParticipantId, required: true, location_name: "participantId")) @@ -518,6 +598,7 @@ module ClientApi Participant.add_member(:recording_s3_bucket_name, Shapes::ShapeRef.new(shape: ParticipantRecordingS3BucketName, location_name: "recordingS3BucketName")) Participant.add_member(:recording_s3_prefix, Shapes::ShapeRef.new(shape: ParticipantRecordingS3Prefix, location_name: "recordingS3Prefix")) Participant.add_member(:recording_state, Shapes::ShapeRef.new(shape: ParticipantRecordingState, location_name: "recordingState")) + Participant.add_member(:protocol, Shapes::ShapeRef.new(shape: ParticipantProtocol, location_name: "protocol")) Participant.struct_class = Types::Participant ParticipantAttributes.key = Shapes::ShapeRef.new(shape: String) @@ -618,6 +699,8 @@ module ClientApi StageEndpoints.add_member(:events, Shapes::ShapeRef.new(shape: StageEndpoint, location_name: "events")) StageEndpoints.add_member(:whip, Shapes::ShapeRef.new(shape: StageEndpoint, location_name: "whip")) + StageEndpoints.add_member(:rtmp, Shapes::ShapeRef.new(shape: StageEndpoint, location_name: "rtmp")) + StageEndpoints.add_member(:rtmps, Shapes::ShapeRef.new(shape: StageEndpoint, location_name: "rtmps")) StageEndpoints.struct_class = Types::StageEndpoints StageSession.add_member(:session_id, Shapes::ShapeRef.new(shape: StageSessionId, location_name: "sessionId")) @@ -686,6 +769,13 @@ module ClientApi UntagResourceResponse.struct_class = Types::UntagResourceResponse + UpdateIngestConfigurationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: IngestConfigurationArn, required: true, location_name: "arn")) + UpdateIngestConfigurationRequest.add_member(:stage_arn, Shapes::ShapeRef.new(shape: IngestConfigurationStageArn, location_name: "stageArn")) + UpdateIngestConfigurationRequest.struct_class = Types::UpdateIngestConfigurationRequest + + UpdateIngestConfigurationResponse.add_member(:ingest_configuration, Shapes::ShapeRef.new(shape: IngestConfiguration, location_name: "ingestConfiguration")) + UpdateIngestConfigurationResponse.struct_class = Types::UpdateIngestConfigurationResponse + UpdateStageRequest.add_member(:arn, Shapes::ShapeRef.new(shape: StageArn, required: true, location_name: "arn")) UpdateStageRequest.add_member(:name, Shapes::ShapeRef.new(shape: StageName, location_name: "name")) UpdateStageRequest.add_member(:auto_participant_recording_configuration, Shapes::ShapeRef.new(shape: AutoParticipantRecordingConfiguration, location_name: "autoParticipantRecordingConfiguration")) @@ -712,8 +802,8 @@ module ClientApi api.metadata = { "apiVersion" => "2020-07-14", "endpointPrefix" => "ivsrealtime", + "jsonVersion" => "1.1", "protocol" => "rest-json", - "protocols" => ["rest-json"], "serviceAbbreviation" => "ivsrealtime", "serviceFullName" => "Amazon Interactive Video Service RealTime", "serviceId" => "IVS RealTime", @@ -737,6 +827,18 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: PendingVerification) end) + api.add_operation(:create_ingest_configuration, Seahorse::Model::Operation.new.tap do |o| + o.name = "CreateIngestConfiguration" + o.http_method = "POST" + o.http_request_uri = "/CreateIngestConfiguration" + o.input = Shapes::ShapeRef.new(shape: CreateIngestConfigurationRequest) + o.output = Shapes::ShapeRef.new(shape: CreateIngestConfigurationResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException) + o.errors << Shapes::ShapeRef.new(shape: PendingVerification) + end) + api.add_operation(:create_participant_token, Seahorse::Model::Operation.new.tap do |o| o.name = "CreateParticipantToken" o.http_method = "POST" @@ -791,6 +893,19 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ConflictException) end) + api.add_operation(:delete_ingest_configuration, Seahorse::Model::Operation.new.tap do |o| + o.name = "DeleteIngestConfiguration" + o.http_method = "POST" + o.http_request_uri = "/DeleteIngestConfiguration" + o.input = Shapes::ShapeRef.new(shape: DeleteIngestConfigurationRequest) + o.output = Shapes::ShapeRef.new(shape: DeleteIngestConfigurationResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: PendingVerification) + end) + api.add_operation(:delete_public_key, Seahorse::Model::Operation.new.tap do |o| o.name = "DeletePublicKey" o.http_method = "POST" @@ -871,6 +986,17 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ConflictException) end) + api.add_operation(:get_ingest_configuration, Seahorse::Model::Operation.new.tap do |o| + o.name = "GetIngestConfiguration" + o.http_method = "POST" + o.http_request_uri = "/GetIngestConfiguration" + o.input = Shapes::ShapeRef.new(shape: GetIngestConfigurationRequest) + o.output = Shapes::ShapeRef.new(shape: GetIngestConfigurationResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + end) + api.add_operation(:get_participant, Seahorse::Model::Operation.new.tap do |o| o.name = "GetParticipant" o.http_method = "POST" @@ -980,6 +1106,22 @@ module ClientApi ) end) + api.add_operation(:list_ingest_configurations, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListIngestConfigurations" + o.http_method = "POST" + o.http_request_uri = "/ListIngestConfigurations" + o.input = Shapes::ShapeRef.new(shape: ListIngestConfigurationsRequest) + o.output = Shapes::ShapeRef.new(shape: ListIngestConfigurationsResponse) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + api.add_operation(:list_participant_events, Seahorse::Model::Operation.new.tap do |o| o.name = "ListParticipantEvents" o.http_method = "POST" @@ -1142,6 +1284,19 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: InternalServerException) end) + api.add_operation(:update_ingest_configuration, Seahorse::Model::Operation.new.tap do |o| + o.name = "UpdateIngestConfiguration" + o.http_method = "POST" + o.http_request_uri = "/UpdateIngestConfiguration" + o.input = Shapes::ShapeRef.new(shape: UpdateIngestConfigurationRequest) + o.output = Shapes::ShapeRef.new(shape: UpdateIngestConfigurationResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException) + o.errors << Shapes::ShapeRef.new(shape: ValidationException) + o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + o.errors << Shapes::ShapeRef.new(shape: PendingVerification) + end) + api.add_operation(:update_stage, Seahorse::Model::Operation.new.tap do |o| o.name = "UpdateStage" o.http_method = "POST" diff --git a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/endpoints.rb b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/endpoints.rb index 795de377051..bea5ffd9bae 100644 --- a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/endpoints.rb +++ b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/endpoints.rb @@ -26,6 +26,20 @@ def self.build(context) end end + class CreateIngestConfiguration + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::IVSRealTime::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class CreateParticipantToken def self.build(context) unless context.config.regional_endpoint @@ -82,6 +96,20 @@ def self.build(context) end end + class DeleteIngestConfiguration + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::IVSRealTime::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class DeletePublicKey def self.build(context) unless context.config.regional_endpoint @@ -166,6 +194,20 @@ def self.build(context) end end + class GetIngestConfiguration + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::IVSRealTime::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class GetParticipant def self.build(context) unless context.config.regional_endpoint @@ -278,6 +320,20 @@ def self.build(context) end end + class ListIngestConfigurations + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::IVSRealTime::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class ListParticipantEvents def self.build(context) unless context.config.regional_endpoint @@ -432,6 +488,20 @@ def self.build(context) end end + class UpdateIngestConfiguration + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::IVSRealTime::EndpointParameters.new( + region: context.config.region, + use_dual_stack: context.config.use_dualstack_endpoint, + use_fips: context.config.use_fips_endpoint, + endpoint: endpoint, + ) + end + end + class UpdateStage def self.build(context) unless context.config.regional_endpoint diff --git a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/plugins/endpoints.rb b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/plugins/endpoints.rb index 7386395c1c6..ebd109abc05 100644 --- a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/plugins/endpoints.rb +++ b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/plugins/endpoints.rb @@ -60,6 +60,8 @@ def parameters_for_operation(context) case context.operation_name when :create_encoder_configuration Aws::IVSRealTime::Endpoints::CreateEncoderConfiguration.build(context) + when :create_ingest_configuration + Aws::IVSRealTime::Endpoints::CreateIngestConfiguration.build(context) when :create_participant_token Aws::IVSRealTime::Endpoints::CreateParticipantToken.build(context) when :create_stage @@ -68,6 +70,8 @@ def parameters_for_operation(context) Aws::IVSRealTime::Endpoints::CreateStorageConfiguration.build(context) when :delete_encoder_configuration Aws::IVSRealTime::Endpoints::DeleteEncoderConfiguration.build(context) + when :delete_ingest_configuration + Aws::IVSRealTime::Endpoints::DeleteIngestConfiguration.build(context) when :delete_public_key Aws::IVSRealTime::Endpoints::DeletePublicKey.build(context) when :delete_stage @@ -80,6 +84,8 @@ def parameters_for_operation(context) Aws::IVSRealTime::Endpoints::GetComposition.build(context) when :get_encoder_configuration Aws::IVSRealTime::Endpoints::GetEncoderConfiguration.build(context) + when :get_ingest_configuration + Aws::IVSRealTime::Endpoints::GetIngestConfiguration.build(context) when :get_participant Aws::IVSRealTime::Endpoints::GetParticipant.build(context) when :get_public_key @@ -96,6 +102,8 @@ def parameters_for_operation(context) Aws::IVSRealTime::Endpoints::ListCompositions.build(context) when :list_encoder_configurations Aws::IVSRealTime::Endpoints::ListEncoderConfigurations.build(context) + when :list_ingest_configurations + Aws::IVSRealTime::Endpoints::ListIngestConfigurations.build(context) when :list_participant_events Aws::IVSRealTime::Endpoints::ListParticipantEvents.build(context) when :list_participants @@ -118,6 +126,8 @@ def parameters_for_operation(context) Aws::IVSRealTime::Endpoints::TagResource.build(context) when :untag_resource Aws::IVSRealTime::Endpoints::UntagResource.build(context) + when :update_ingest_configuration + Aws::IVSRealTime::Endpoints::UpdateIngestConfiguration.build(context) when :update_stage Aws::IVSRealTime::Endpoints::UpdateStage.build(context) end diff --git a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/types.rb b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/types.rb index f772b5944b3..a4f370765b9 100644 --- a/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/types.rb +++ b/gems/aws-sdk-ivsrealtime/lib/aws-sdk-ivsrealtime/types.rb @@ -93,14 +93,15 @@ class ChannelDestinationConfiguration < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @!attribute [rw] start_time @@ -148,14 +149,15 @@ class Composition < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @!attribute [rw] start_time @@ -205,14 +207,15 @@ class ConflictException < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateEncoderConfigurationRequest AWS API Documentation @@ -237,6 +240,81 @@ class CreateEncoderConfigurationResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] name + # Optional name that can be specified for the IngestConfiguration + # being created. + # @return [String] + # + # @!attribute [rw] stage_arn + # ARN of the stage with which the IngestConfiguration is associated. + # @return [String] + # + # @!attribute [rw] user_id + # Customer-assigned name to help identify the participant using the + # IngestConfiguration; this can be used to link a participant to a + # user in the customer’s own systems. This can be any UTF-8 encoded + # text. *This field is exposed to all stage participants and should + # not be used for personally identifying, confidential, or sensitive + # information.* + # @return [String] + # + # @!attribute [rw] attributes + # Application-provided attributes to store in the IngestConfiguration + # and attach to a stage. Map keys and values can contain UTF-8 encoded + # text. The maximum length of this field is 1 KB total. *This field is + # exposed to all stage participants and should not be used for + # personally identifying, confidential, or sensitive information.* + # @return [Hash] + # + # @!attribute [rw] ingest_protocol + # Type of ingest protocol that the user employs to broadcast. If this + # is set to `RTMP`, `insecureIngest` must be set to `true`. + # @return [String] + # + # @!attribute [rw] insecure_ingest + # Whether the stage allows insecure RTMP ingest. This must be set to + # `true`, if `ingestProtocol` is set to `RTMP`. Default: `false`. + # @return [Boolean] + # + # @!attribute [rw] tags + # Tags attached to the resource. Array of maps, each of the form + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. + # + # + # + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html + # @return [Hash] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateIngestConfigurationRequest AWS API Documentation + # + class CreateIngestConfigurationRequest < Struct.new( + :name, + :stage_arn, + :user_id, + :attributes, + :ingest_protocol, + :insecure_ingest, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] ingest_configuration + # The IngestConfiguration that was created. + # @return [Types::IngestConfiguration] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateIngestConfigurationResponse AWS API Documentation + # + class CreateIngestConfigurationResponse < Struct.new( + :ingest_configuration) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] stage_arn # ARN of the stage to which this token is scoped. # @return [String] @@ -301,14 +379,15 @@ class CreateParticipantTokenResponse < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @!attribute [rw] auto_participant_recording_configuration @@ -356,14 +435,15 @@ class CreateStageResponse < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateStorageConfigurationRequest AWS API Documentation @@ -404,6 +484,30 @@ class DeleteEncoderConfigurationRequest < Struct.new( # class DeleteEncoderConfigurationResponse < Aws::EmptyStructure; end + # @!attribute [rw] arn + # ARN of the IngestConfiguration. + # @return [String] + # + # @!attribute [rw] force + # Optional field to force deletion of the IngestConfiguration. If this + # is set to `true` when a participant is actively publishing, the + # participant is disconnected from the stage, followed by deletion of + # the IngestConfiguration. Default: `false`. + # @return [Boolean] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/DeleteIngestConfigurationRequest AWS API Documentation + # + class DeleteIngestConfigurationRequest < Struct.new( + :arn, + :force) + SENSITIVE = [] + include Aws::Structure + end + + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/DeleteIngestConfigurationResponse AWS API Documentation + # + class DeleteIngestConfigurationResponse < Aws::EmptyStructure; end + # @!attribute [rw] arn # ARN of the public key to be deleted. # @return [String] @@ -569,8 +673,10 @@ class DestinationSummary < Struct.new( # @return [String] # # @!attribute [rw] participant_id - # Identifier of the participant to be disconnected. This is assigned - # by IVS and returned by CreateParticipantToken. + # Identifier of the participant to be disconnected. IVS assigns this; + # it is returned by CreateParticipantToken (for streams using WebRTC + # ingest) or CreateIngestConfiguration (for streams using RTMP + # ingest). # @return [String] # # @!attribute [rw] reason @@ -608,14 +714,15 @@ class DisconnectParticipantResponse < Aws::EmptyStructure; end # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/EncoderConfiguration AWS API Documentation @@ -641,14 +748,15 @@ class EncoderConfiguration < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/EncoderConfigurationSummary AWS API Documentation @@ -761,6 +869,30 @@ class GetEncoderConfigurationResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] arn + # ARN of the ingest for which the information is to be retrieved. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetIngestConfigurationRequest AWS API Documentation + # + class GetIngestConfigurationRequest < Struct.new( + :arn) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] ingest_configuration + # The IngestConfiguration that was returned. + # @return [Types::IngestConfiguration] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetIngestConfigurationResponse AWS API Documentation + # + class GetIngestConfigurationResponse < Struct.new( + :ingest_configuration) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] stage_arn # Stage ARN. # @return [String] @@ -956,14 +1088,15 @@ class GridConfiguration < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ImportPublicKeyRequest AWS API Documentation @@ -988,6 +1121,137 @@ class ImportPublicKeyResponse < Struct.new( include Aws::Structure end + # Object specifying an ingest configuration. + # + # @!attribute [rw] name + # Ingest name + # @return [String] + # + # @!attribute [rw] arn + # Ingest configuration ARN. + # @return [String] + # + # @!attribute [rw] ingest_protocol + # Type of ingest protocol that the user employs for broadcasting. + # @return [String] + # + # @!attribute [rw] stream_key + # Ingest-key value for the RTMP(S) protocol. + # @return [String] + # + # @!attribute [rw] stage_arn + # ARN of the stage with which the IngestConfiguration is associated. + # @return [String] + # + # @!attribute [rw] participant_id + # ID of the participant within the stage. + # @return [String] + # + # @!attribute [rw] state + # State of the ingest configuration. It is `ACTIVE` if a publisher + # currently is publishing to the stage associated with the ingest + # configuration. + # @return [String] + # + # @!attribute [rw] user_id + # Customer-assigned name to help identify the participant using the + # IngestConfiguration; this can be used to link a participant to a + # user in the customer’s own systems. This can be any UTF-8 encoded + # text. *This field is exposed to all stage participants and should + # not be used for personally identifying, confidential, or sensitive + # information.* + # @return [String] + # + # @!attribute [rw] attributes + # Application-provided attributes to to store in the + # IngestConfiguration and attach to a stage. Map keys and values can + # contain UTF-8 encoded text. The maximum length of this field is 1 KB + # total. *This field is exposed to all stage participants and should + # not be used for personally identifying, confidential, or sensitive + # information.* + # @return [Hash] + # + # @!attribute [rw] tags + # Tags attached to the resource. Array of maps, each of the form + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. + # + # + # + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html + # @return [Hash] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/IngestConfiguration AWS API Documentation + # + class IngestConfiguration < Struct.new( + :name, + :arn, + :ingest_protocol, + :stream_key, + :stage_arn, + :participant_id, + :state, + :user_id, + :attributes, + :tags) + SENSITIVE = [:stream_key] + include Aws::Structure + end + + # Summary information about an IngestConfiguration. + # + # @!attribute [rw] name + # Ingest name. + # @return [String] + # + # @!attribute [rw] arn + # Ingest configuration ARN. + # @return [String] + # + # @!attribute [rw] ingest_protocol + # Type of ingest protocol that the user employs for broadcasting. + # @return [String] + # + # @!attribute [rw] stage_arn + # ARN of the stage with which the IngestConfiguration is associated. + # @return [String] + # + # @!attribute [rw] participant_id + # ID of the participant within the stage. + # @return [String] + # + # @!attribute [rw] state + # State of the ingest configuration. It is `ACTIVE` if a publisher + # currently is publishing to the stage associated with the ingest + # configuration. + # @return [String] + # + # @!attribute [rw] user_id + # Customer-assigned name to help identify the participant using the + # IngestConfiguration; this can be used to link a participant to a + # user in the customer’s own systems. This can be any UTF-8 encoded + # text. *This field is exposed to all stage participants and should + # not be used for personally identifying, confidential, or sensitive + # information.* + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/IngestConfigurationSummary AWS API Documentation + # + class IngestConfigurationSummary < Struct.new( + :name, + :arn, + :ingest_protocol, + :stage_arn, + :participant_id, + :state, + :user_id) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] exception_message # Unexpected error during processing of request. # @return [String] @@ -1104,6 +1368,55 @@ class ListEncoderConfigurationsResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] filter_by_stage_arn + # Filters the response list to match the specified stage ARN. Only one + # filter (by stage ARN or by state) can be used at a time. + # @return [String] + # + # @!attribute [rw] filter_by_state + # Filters the response list to match the specified state. Only one + # filter (by stage ARN or by state) can be used at a time. + # @return [String] + # + # @!attribute [rw] next_token + # The first IngestConfiguration to retrieve. This is used for + # pagination; see the `nextToken` response field. + # @return [String] + # + # @!attribute [rw] max_results + # Maximum number of results to return. Default: 50. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListIngestConfigurationsRequest AWS API Documentation + # + class ListIngestConfigurationsRequest < Struct.new( + :filter_by_stage_arn, + :filter_by_state, + :next_token, + :max_results) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] ingest_configurations + # List of the matching ingest configurations (summary information + # only). + # @return [Array] + # + # @!attribute [rw] next_token + # If there are more IngestConfigurations than `maxResults`, use + # `nextToken` in the request to get the next set. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListIngestConfigurationsResponse AWS API Documentation + # + class ListIngestConfigurationsResponse < Struct.new( + :ingest_configurations, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] stage_arn # Stage ARN. # @return [String] @@ -1487,6 +1800,11 @@ class ListTagsForResourceResponse < Struct.new( # The participant’s recording state. # @return [String] # + # @!attribute [rw] protocol + # Type of ingest protocol that the participant employs for + # broadcasting. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/Participant AWS API Documentation # class Participant < Struct.new( @@ -1504,7 +1822,8 @@ class Participant < Struct.new( :sdk_version, :recording_s3_bucket_name, :recording_s3_prefix, - :recording_state) + :recording_state, + :protocol) SENSITIVE = [] include Aws::Structure end @@ -1767,14 +2086,15 @@ class PipConfiguration < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/PublicKey AWS API Documentation @@ -1801,14 +2121,15 @@ class PublicKey < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/PublicKeySummary AWS API Documentation @@ -1935,14 +2256,15 @@ class ServiceQuotaExceededException < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @!attribute [rw] auto_participant_recording_configuration @@ -1967,21 +2289,36 @@ class Stage < Struct.new( include Aws::Structure end - # Summary information about various endpoints for a stage. + # Summary information about various endpoints for a stage. We recommend + # that you cache these values at stage creation; the values can be + # cached for up to 14 days. # # @!attribute [rw] events # Events endpoint. # @return [String] # # @!attribute [rw] whip - # WHIP endpoint. + # The endpoint to be used for IVS real-time streaming using the WHIP + # protocol. + # @return [String] + # + # @!attribute [rw] rtmp + # The endpoint to be used for IVS real-time streaming using the RTMP + # protocol. + # @return [String] + # + # @!attribute [rw] rtmps + # The endpoint to be used for IVS real-time streaming using the RTMPS + # protocol. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StageEndpoints AWS API Documentation # class StageEndpoints < Struct.new( :events, - :whip) + :whip, + :rtmp, + :rtmps) SENSITIVE = [] include Aws::Structure end @@ -2058,14 +2395,15 @@ class StageSessionSummary < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StageSummary AWS API Documentation @@ -2100,14 +2438,15 @@ class StageSummary < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StartCompositionRequest AWS API Documentation @@ -2168,14 +2507,15 @@ class StopCompositionResponse < Aws::EmptyStructure; end # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StorageConfiguration AWS API Documentation @@ -2206,14 +2546,15 @@ class StorageConfiguration < Struct.new( # # @!attribute [rw] tags # Tags attached to the resource. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints on tags - # beyond what is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StorageConfigurationSummary AWS API Documentation @@ -2233,14 +2574,15 @@ class StorageConfigurationSummary < Struct.new( # # @!attribute [rw] tags # Array of tags to be added or updated. Array of maps, each of the - # form `string:string (key:value)`. See [Tagging AWS Resources][1] for + # form `string:string (key:value)`. See [Best practices and + # strategies][1] in *Tagging AWS Resources and Tag Editor* for # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints beyond what - # is documented there. + # limits and requirements"; Amazon IVS has no constraints on tags + # beyond what is documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/TagResourceRequest AWS API Documentation @@ -2262,14 +2604,15 @@ class TagResourceResponse < Aws::EmptyStructure; end # # @!attribute [rw] tag_keys # Array of tags to be removed. Array of maps, each of the form - # `string:string (key:value)`. See [Tagging AWS Resources][1] for - # details, including restrictions that apply to tags and "Tag naming - # limits and requirements"; Amazon IVS has no constraints beyond what - # is documented there. + # `string:string (key:value)`. See [Best practices and strategies][1] + # in *Tagging AWS Resources and Tag Editor* for details, including + # restrictions that apply to tags and "Tag naming limits and + # requirements"; Amazon IVS has no constraints on tags beyond what is + # documented there. # # # - # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html + # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UntagResourceRequest AWS API Documentation @@ -2285,6 +2628,36 @@ class UntagResourceRequest < Struct.new( # class UntagResourceResponse < Aws::EmptyStructure; end + # @!attribute [rw] arn + # ARN of the IngestConfiguration, for which the related stage ARN + # needs to be updated. + # @return [String] + # + # @!attribute [rw] stage_arn + # Stage ARN that needs to be updated. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateIngestConfigurationRequest AWS API Documentation + # + class UpdateIngestConfigurationRequest < Struct.new( + :arn, + :stage_arn) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] ingest_configuration + # The updated IngestConfiguration. + # @return [Types::IngestConfiguration] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateIngestConfigurationResponse AWS API Documentation + # + class UpdateIngestConfigurationResponse < Struct.new( + :ingest_configuration) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] arn # ARN of the stage to be updated. # @return [String] diff --git a/gems/aws-sdk-ivsrealtime/sig/client.rbs b/gems/aws-sdk-ivsrealtime/sig/client.rbs index b6044060cd8..2771e78cdf3 100644 --- a/gems/aws-sdk-ivsrealtime/sig/client.rbs +++ b/gems/aws-sdk-ivsrealtime/sig/client.rbs @@ -91,6 +91,22 @@ module Aws ) -> _CreateEncoderConfigurationResponseSuccess | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateEncoderConfigurationResponseSuccess + interface _CreateIngestConfigurationResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::CreateIngestConfigurationResponse] + def ingest_configuration: () -> Types::IngestConfiguration + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IVSRealTime/Client.html#create_ingest_configuration-instance_method + def create_ingest_configuration: ( + ?name: ::String, + ?stage_arn: ::String, + ?user_id: ::String, + ?attributes: Hash[::String, ::String], + ingest_protocol: ("RTMP" | "RTMPS"), + ?insecure_ingest: bool, + ?tags: Hash[::String, ::String] + ) -> _CreateIngestConfigurationResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateIngestConfigurationResponseSuccess + interface _CreateParticipantTokenResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateParticipantTokenResponse] def participant_token: () -> Types::ParticipantToken @@ -152,6 +168,16 @@ module Aws ) -> _DeleteEncoderConfigurationResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteEncoderConfigurationResponseSuccess + interface _DeleteIngestConfigurationResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::DeleteIngestConfigurationResponse] + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IVSRealTime/Client.html#delete_ingest_configuration-instance_method + def delete_ingest_configuration: ( + arn: ::String, + ?force: bool + ) -> _DeleteIngestConfigurationResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteIngestConfigurationResponseSuccess + interface _DeletePublicKeyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeletePublicKeyResponse] end @@ -210,6 +236,16 @@ module Aws ) -> _GetEncoderConfigurationResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetEncoderConfigurationResponseSuccess + interface _GetIngestConfigurationResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::GetIngestConfigurationResponse] + def ingest_configuration: () -> Types::IngestConfiguration + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IVSRealTime/Client.html#get_ingest_configuration-instance_method + def get_ingest_configuration: ( + arn: ::String + ) -> _GetIngestConfigurationResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetIngestConfigurationResponseSuccess + interface _GetParticipantResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetParticipantResponse] def participant: () -> Types::Participant @@ -301,6 +337,20 @@ module Aws ) -> _ListEncoderConfigurationsResponseSuccess | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListEncoderConfigurationsResponseSuccess + interface _ListIngestConfigurationsResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::ListIngestConfigurationsResponse] + def ingest_configurations: () -> ::Array[Types::IngestConfigurationSummary] + def next_token: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IVSRealTime/Client.html#list_ingest_configurations-instance_method + def list_ingest_configurations: ( + ?filter_by_stage_arn: ::String, + ?filter_by_state: ("ACTIVE" | "INACTIVE"), + ?next_token: ::String, + ?max_results: ::Integer + ) -> _ListIngestConfigurationsResponseSuccess + | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListIngestConfigurationsResponseSuccess + interface _ListParticipantEventsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListParticipantEventsResponse] def events: () -> ::Array[Types::Event] @@ -471,6 +521,17 @@ module Aws ) -> _UntagResourceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UntagResourceResponseSuccess + interface _UpdateIngestConfigurationResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::UpdateIngestConfigurationResponse] + def ingest_configuration: () -> Types::IngestConfiguration + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/IVSRealTime/Client.html#update_ingest_configuration-instance_method + def update_ingest_configuration: ( + arn: ::String, + ?stage_arn: ::String + ) -> _UpdateIngestConfigurationResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateIngestConfigurationResponseSuccess + interface _UpdateStageResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateStageResponse] def stage: () -> Types::Stage diff --git a/gems/aws-sdk-ivsrealtime/sig/types.rbs b/gems/aws-sdk-ivsrealtime/sig/types.rbs index 981e9b72db2..95f1183bc7c 100644 --- a/gems/aws-sdk-ivsrealtime/sig/types.rbs +++ b/gems/aws-sdk-ivsrealtime/sig/types.rbs @@ -65,6 +65,22 @@ module Aws::IVSRealTime SENSITIVE: [] end + class CreateIngestConfigurationRequest + attr_accessor name: ::String + attr_accessor stage_arn: ::String + attr_accessor user_id: ::String + attr_accessor attributes: ::Hash[::String, ::String] + attr_accessor ingest_protocol: ("RTMP" | "RTMPS") + attr_accessor insecure_ingest: bool + attr_accessor tags: ::Hash[::String, ::String] + SENSITIVE: [] + end + + class CreateIngestConfigurationResponse + attr_accessor ingest_configuration: Types::IngestConfiguration + SENSITIVE: [] + end + class CreateParticipantTokenRequest attr_accessor stage_arn: ::String attr_accessor duration: ::Integer @@ -113,6 +129,15 @@ module Aws::IVSRealTime class DeleteEncoderConfigurationResponse < Aws::EmptyStructure end + class DeleteIngestConfigurationRequest + attr_accessor arn: ::String + attr_accessor force: bool + SENSITIVE: [] + end + + class DeleteIngestConfigurationResponse < Aws::EmptyStructure + end + class DeletePublicKeyRequest attr_accessor arn: ::String SENSITIVE: [] @@ -197,7 +222,7 @@ module Aws::IVSRealTime attr_accessor participant_id: ::String attr_accessor event_time: ::Time attr_accessor remote_participant_id: ::String - attr_accessor error_code: ("INSUFFICIENT_CAPABILITIES" | "QUOTA_EXCEEDED" | "PUBLISHER_NOT_FOUND") + attr_accessor error_code: ("INSUFFICIENT_CAPABILITIES" | "QUOTA_EXCEEDED" | "PUBLISHER_NOT_FOUND" | "BITRATE_EXCEEDED" | "RESOLUTION_EXCEEDED" | "STREAM_DURATION_EXCEEDED" | "INVALID_AUDIO_CODEC" | "INVALID_VIDEO_CODEC" | "INVALID_PROTOCOL" | "INVALID_STREAM_KEY" | "REUSE_OF_STREAM_KEY") SENSITIVE: [] end @@ -221,6 +246,16 @@ module Aws::IVSRealTime SENSITIVE: [] end + class GetIngestConfigurationRequest + attr_accessor arn: ::String + SENSITIVE: [] + end + + class GetIngestConfigurationResponse + attr_accessor ingest_configuration: Types::IngestConfiguration + SENSITIVE: [] + end + class GetParticipantRequest attr_accessor stage_arn: ::String attr_accessor session_id: ::String @@ -295,6 +330,31 @@ module Aws::IVSRealTime SENSITIVE: [] end + class IngestConfiguration + attr_accessor name: ::String + attr_accessor arn: ::String + attr_accessor ingest_protocol: ("RTMP" | "RTMPS") + attr_accessor stream_key: ::String + attr_accessor stage_arn: ::String + attr_accessor participant_id: ::String + attr_accessor state: ("ACTIVE" | "INACTIVE") + attr_accessor user_id: ::String + attr_accessor attributes: ::Hash[::String, ::String] + attr_accessor tags: ::Hash[::String, ::String] + SENSITIVE: [:stream_key] + end + + class IngestConfigurationSummary + attr_accessor name: ::String + attr_accessor arn: ::String + attr_accessor ingest_protocol: ("RTMP" | "RTMPS") + attr_accessor stage_arn: ::String + attr_accessor participant_id: ::String + attr_accessor state: ("ACTIVE" | "INACTIVE") + attr_accessor user_id: ::String + SENSITIVE: [] + end + class InternalServerException attr_accessor exception_message: ::String SENSITIVE: [] @@ -332,6 +392,20 @@ module Aws::IVSRealTime SENSITIVE: [] end + class ListIngestConfigurationsRequest + attr_accessor filter_by_stage_arn: ::String + attr_accessor filter_by_state: ("ACTIVE" | "INACTIVE") + attr_accessor next_token: ::String + attr_accessor max_results: ::Integer + SENSITIVE: [] + end + + class ListIngestConfigurationsResponse + attr_accessor ingest_configurations: ::Array[Types::IngestConfigurationSummary] + attr_accessor next_token: ::String + SENSITIVE: [] + end + class ListParticipantEventsRequest attr_accessor stage_arn: ::String attr_accessor session_id: ::String @@ -440,6 +514,7 @@ module Aws::IVSRealTime attr_accessor recording_s3_bucket_name: ::String attr_accessor recording_s3_prefix: ::String attr_accessor recording_state: ("STARTING" | "ACTIVE" | "STOPPING" | "STOPPED" | "FAILED" | "DISABLED") + attr_accessor protocol: ("UNKNOWN" | "WHIP" | "RTMP" | "RTMPS") SENSITIVE: [] end @@ -552,6 +627,8 @@ module Aws::IVSRealTime class StageEndpoints attr_accessor events: ::String attr_accessor whip: ::String + attr_accessor rtmp: ::String + attr_accessor rtmps: ::String SENSITIVE: [] end @@ -633,6 +710,17 @@ module Aws::IVSRealTime class UntagResourceResponse < Aws::EmptyStructure end + class UpdateIngestConfigurationRequest + attr_accessor arn: ::String + attr_accessor stage_arn: ::String + SENSITIVE: [] + end + + class UpdateIngestConfigurationResponse + attr_accessor ingest_configuration: Types::IngestConfiguration + SENSITIVE: [] + end + class UpdateStageRequest attr_accessor arn: ::String attr_accessor name: ::String diff --git a/gems/aws-sdk-kafka/CHANGELOG.md b/gems/aws-sdk-kafka/CHANGELOG.md index 0a077ba5481..eb85b3391c5 100644 --- a/gems/aws-sdk-kafka/CHANGELOG.md +++ b/gems/aws-sdk-kafka/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.79.0 (2024-09-09) +------------------ + +* Feature - Amazon MSK Replicator can now replicate data to identically named topics between MSK clusters within the same AWS Region or across different AWS Regions. + 1.78.0 (2024-09-03) ------------------ diff --git a/gems/aws-sdk-kafka/VERSION b/gems/aws-sdk-kafka/VERSION index 54227249d1f..b3a8c61e6a8 100644 --- a/gems/aws-sdk-kafka/VERSION +++ b/gems/aws-sdk-kafka/VERSION @@ -1 +1 @@ -1.78.0 +1.79.0 diff --git a/gems/aws-sdk-kafka/aws-sdk-kafka.gemspec b/gems/aws-sdk-kafka/aws-sdk-kafka.gemspec index 0094fac2ddf..9f5a5906924 100644 --- a/gems/aws-sdk-kafka/aws-sdk-kafka.gemspec +++ b/gems/aws-sdk-kafka/aws-sdk-kafka.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| } spec.add_dependency('aws-sdk-core', '~> 3', '>= 3.203.0') - spec.add_dependency('aws-sigv4', '~> 1.1') + spec.add_dependency('aws-sigv4', '~> 1.5') spec.required_ruby_version = '>= 2.5' end diff --git a/gems/aws-sdk-kafka/lib/aws-sdk-kafka.rb b/gems/aws-sdk-kafka/lib/aws-sdk-kafka.rb index f23cde66c80..6281b58fd28 100644 --- a/gems/aws-sdk-kafka/lib/aws-sdk-kafka.rb +++ b/gems/aws-sdk-kafka/lib/aws-sdk-kafka.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Kafka - GEM_VERSION = '1.78.0' + GEM_VERSION = '1.79.0' end diff --git a/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client.rb b/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client.rb index 65bbb7fbe7c..36e1981022f 100644 --- a/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client.rb +++ b/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client.rb @@ -914,6 +914,9 @@ def create_configuration(params = {}, options = {}) # starting_position: { # type: "LATEST", # accepts LATEST, EARLIEST # }, + # topic_name_configuration: { + # type: "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", # accepts PREFIXED_WITH_SOURCE_CLUSTER_ALIAS, IDENTICAL + # }, # topics_to_exclude: ["__stringMax249"], # topics_to_replicate: ["__stringMax249"], # required # }, @@ -1673,6 +1676,7 @@ def describe_configuration_revision(params = {}, options = {}) # resp.replication_info_list[0].topic_replication.copy_topic_configurations #=> Boolean # resp.replication_info_list[0].topic_replication.detect_and_copy_new_topics #=> Boolean # resp.replication_info_list[0].topic_replication.starting_position.type #=> String, one of "LATEST", "EARLIEST" + # resp.replication_info_list[0].topic_replication.topic_name_configuration.type #=> String, one of "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", "IDENTICAL" # resp.replication_info_list[0].topic_replication.topics_to_exclude #=> Array # resp.replication_info_list[0].topic_replication.topics_to_exclude[0] #=> String # resp.replication_info_list[0].topic_replication.topics_to_replicate #=> Array @@ -1779,7 +1783,13 @@ def batch_disassociate_scram_secret(params = {}, options = {}) req.send_request(options) end - # A list of brokers that a client application can use to bootstrap. + # A list of brokers that a client application can use to bootstrap. This + # list doesn't necessarily include all of the brokers in the cluster. + # The following Python 3.6 example shows how you can use the Amazon + # Resource Name (ARN) of a cluster to get its bootstrap brokers. If you + # don't know the ARN of your cluster, you can use the `ListClusters` + # operation to get the ARNs of all the clusters in this account and + # Region. # # @option params [required, String] :cluster_arn # @@ -3380,7 +3390,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-kafka' - context[:gem_version] = '1.78.0' + context[:gem_version] = '1.79.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client_api.rb b/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client_api.rb index 0d7afe8d0f2..98a767915f7 100644 --- a/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client_api.rb +++ b/gems/aws-sdk-kafka/lib/aws-sdk-kafka/client_api.rb @@ -167,6 +167,8 @@ module ClientApi ReplicationStartingPosition = Shapes::StructureShape.new(name: 'ReplicationStartingPosition') ReplicationStartingPositionType = Shapes::StringShape.new(name: 'ReplicationStartingPositionType') ReplicationStateInfo = Shapes::StructureShape.new(name: 'ReplicationStateInfo') + ReplicationTopicNameConfiguration = Shapes::StructureShape.new(name: 'ReplicationTopicNameConfiguration') + ReplicationTopicNameConfigurationType = Shapes::StringShape.new(name: 'ReplicationTopicNameConfigurationType') ReplicatorState = Shapes::StringShape.new(name: 'ReplicatorState') ReplicatorSummary = Shapes::StructureShape.new(name: 'ReplicatorSummary') S3 = Shapes::StructureShape.new(name: 'S3') @@ -1001,6 +1003,9 @@ module ClientApi ReplicationStateInfo.add_member(:message, Shapes::ShapeRef.new(shape: __string, location_name: "message")) ReplicationStateInfo.struct_class = Types::ReplicationStateInfo + ReplicationTopicNameConfiguration.add_member(:type, Shapes::ShapeRef.new(shape: ReplicationTopicNameConfigurationType, location_name: "type")) + ReplicationTopicNameConfiguration.struct_class = Types::ReplicationTopicNameConfiguration + ReplicatorSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: __timestampIso8601, location_name: "creationTime")) ReplicatorSummary.add_member(:current_version, Shapes::ShapeRef.new(shape: __string, location_name: "currentVersion")) ReplicatorSummary.add_member(:is_replicator_reference, Shapes::ShapeRef.new(shape: __boolean, location_name: "isReplicatorReference")) @@ -1065,6 +1070,7 @@ module ClientApi TopicReplication.add_member(:copy_topic_configurations, Shapes::ShapeRef.new(shape: __boolean, location_name: "copyTopicConfigurations")) TopicReplication.add_member(:detect_and_copy_new_topics, Shapes::ShapeRef.new(shape: __boolean, location_name: "detectAndCopyNewTopics")) TopicReplication.add_member(:starting_position, Shapes::ShapeRef.new(shape: ReplicationStartingPosition, location_name: "startingPosition")) + TopicReplication.add_member(:topic_name_configuration, Shapes::ShapeRef.new(shape: ReplicationTopicNameConfiguration, location_name: "topicNameConfiguration")) TopicReplication.add_member(:topics_to_exclude, Shapes::ShapeRef.new(shape: __listOf__stringMax249, location_name: "topicsToExclude")) TopicReplication.add_member(:topics_to_replicate, Shapes::ShapeRef.new(shape: __listOf__stringMax249, required: true, location_name: "topicsToReplicate")) TopicReplication.struct_class = Types::TopicReplication @@ -1318,6 +1324,7 @@ module ClientApi api.metadata = { "apiVersion" => "2018-11-14", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "kafka", "jsonVersion" => "1.1", "protocol" => "rest-json", diff --git a/gems/aws-sdk-kafka/lib/aws-sdk-kafka/types.rb b/gems/aws-sdk-kafka/lib/aws-sdk-kafka/types.rb index 9355ffce91f..5215fbb520f 100644 --- a/gems/aws-sdk-kafka/lib/aws-sdk-kafka/types.rb +++ b/gems/aws-sdk-kafka/lib/aws-sdk-kafka/types.rb @@ -3483,6 +3483,22 @@ class ReplicationStartingPosition < Struct.new( include Aws::Structure end + # Configuration for specifying replicated topic names should be the same + # as their corresponding upstream topics or prefixed with source cluster + # alias. + # + # @!attribute [rw] type + # The type of replicated topic name. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ReplicationTopicNameConfiguration AWS API Documentation + # + class ReplicationTopicNameConfiguration < Struct.new( + :type) + SENSITIVE = [] + include Aws::Structure + end + # Details about the state of a replicator # # @!attribute [rw] code @@ -3727,6 +3743,11 @@ class TagResourceRequest < Struct.new( # replicating from. # @return [Types::ReplicationStartingPosition] # + # @!attribute [rw] topic_name_configuration + # Configuration for specifying replicated topic names same as their + # corresponding upstream topics or prefixed with source cluster alias. + # @return [Types::ReplicationTopicNameConfiguration] + # # @!attribute [rw] topics_to_exclude # List of regular expression patterns indicating the topics that # should not be replicated. @@ -3743,6 +3764,7 @@ class TopicReplication < Struct.new( :copy_topic_configurations, :detect_and_copy_new_topics, :starting_position, + :topic_name_configuration, :topics_to_exclude, :topics_to_replicate) SENSITIVE = [] diff --git a/gems/aws-sdk-kafka/sig/client.rbs b/gems/aws-sdk-kafka/sig/client.rbs index 69fc99141a6..4b4b97daa2d 100644 --- a/gems/aws-sdk-kafka/sig/client.rbs +++ b/gems/aws-sdk-kafka/sig/client.rbs @@ -379,6 +379,9 @@ module Aws starting_position: { type: ("LATEST" | "EARLIEST")? }?, + topic_name_configuration: { + type: ("PREFIXED_WITH_SOURCE_CLUSTER_ALIAS" | "IDENTICAL")? + }?, topics_to_exclude: Array[::String]?, topics_to_replicate: Array[::String] } diff --git a/gems/aws-sdk-kafka/sig/types.rbs b/gems/aws-sdk-kafka/sig/types.rbs index 127280faa2e..6060a381ab3 100644 --- a/gems/aws-sdk-kafka/sig/types.rbs +++ b/gems/aws-sdk-kafka/sig/types.rbs @@ -985,6 +985,11 @@ module Aws::Kafka SENSITIVE: [] end + class ReplicationTopicNameConfiguration + attr_accessor type: ("PREFIXED_WITH_SOURCE_CLUSTER_ALIAS" | "IDENTICAL") + SENSITIVE: [] + end + class ReplicationStateInfo attr_accessor code: ::String attr_accessor message: ::String @@ -1064,6 +1069,7 @@ module Aws::Kafka attr_accessor copy_topic_configurations: bool attr_accessor detect_and_copy_new_topics: bool attr_accessor starting_position: Types::ReplicationStartingPosition + attr_accessor topic_name_configuration: Types::ReplicationTopicNameConfiguration attr_accessor topics_to_exclude: ::Array[::String] attr_accessor topics_to_replicate: ::Array[::String] SENSITIVE: [] diff --git a/gems/aws-sdk-sagemaker/CHANGELOG.md b/gems/aws-sdk-sagemaker/CHANGELOG.md index 95c57d179cb..3ec4907b9ba 100644 --- a/gems/aws-sdk-sagemaker/CHANGELOG.md +++ b/gems/aws-sdk-sagemaker/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.260.0 (2024-09-09) +------------------ + +* Feature - Amazon Sagemaker supports orchestrating SageMaker HyperPod clusters with Amazon EKS + 1.259.0 (2024-09-05) ------------------ diff --git a/gems/aws-sdk-sagemaker/VERSION b/gems/aws-sdk-sagemaker/VERSION index afac1ed7cdc..ca16b5a927b 100644 --- a/gems/aws-sdk-sagemaker/VERSION +++ b/gems/aws-sdk-sagemaker/VERSION @@ -1 +1 @@ -1.259.0 +1.260.0 diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb index 756628c1e8c..088c295fc5a 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb @@ -53,6 +53,6 @@ # @!group service module Aws::SageMaker - GEM_VERSION = '1.259.0' + GEM_VERSION = '1.260.0' end diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb index 4f44a0a4910..692a2bd0704 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb @@ -1873,6 +1873,18 @@ def create_auto_ml_job_v2(params = {}, options = {}) # # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html # + # @option params [Types::ClusterOrchestrator] :orchestrator + # The type of orchestrator to use for the SageMaker HyperPod cluster. + # Currently, the only supported value is `"eks"`, which is to use an + # Amazon Elastic Kubernetes Service (EKS) cluster as the orchestrator. + # + # @option params [String] :node_recovery + # The node recovery mode for the SageMaker HyperPod cluster. When set to + # `Automatic`, SageMaker HyperPod will automatically reboot or replace + # faulty nodes when issues are detected. When set to `None`, cluster + # administrators will need to manually manage any faulty cluster + # instances. + # # @return [Types::CreateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateClusterResponse#cluster_arn #cluster_arn} => String @@ -1890,7 +1902,7 @@ def create_auto_ml_job_v2(params = {}, options = {}) # source_s3_uri: "S3Uri", # required # on_create: "ClusterLifeCycleConfigFileName", # required # }, - # execution_role: "IAMRoleArn", # required + # execution_role: "RoleArn", # required # threads_per_core: 1, # instance_storage_configs: [ # { @@ -1899,6 +1911,7 @@ def create_auto_ml_job_v2(params = {}, options = {}) # }, # }, # ], + # on_start_deep_health_checks: ["InstanceStress"], # accepts InstanceStress, InstanceConnectivity # }, # ], # vpc_config: { @@ -1911,6 +1924,12 @@ def create_auto_ml_job_v2(params = {}, options = {}) # value: "TagValue", # required # }, # ], + # orchestrator: { + # eks: { # required + # cluster_arn: "EksClusterArn", # required + # }, + # }, + # node_recovery: "Automatic", # accepts Automatic, None # }) # # @example Response structure @@ -12062,6 +12081,8 @@ def describe_auto_ml_job_v2(params = {}, options = {}) # * {Types::DescribeClusterResponse#failure_message #failure_message} => String # * {Types::DescribeClusterResponse#instance_groups #instance_groups} => Array<Types::ClusterInstanceGroupDetails> # * {Types::DescribeClusterResponse#vpc_config #vpc_config} => Types::VpcConfig + # * {Types::DescribeClusterResponse#orchestrator #orchestrator} => Types::ClusterOrchestrator + # * {Types::DescribeClusterResponse#node_recovery #node_recovery} => String # # @example Request syntax with placeholder values # @@ -12087,10 +12108,14 @@ def describe_auto_ml_job_v2(params = {}, options = {}) # resp.instance_groups[0].threads_per_core #=> Integer # resp.instance_groups[0].instance_storage_configs #=> Array # resp.instance_groups[0].instance_storage_configs[0].ebs_volume_config.volume_size_in_gb #=> Integer + # resp.instance_groups[0].on_start_deep_health_checks #=> Array + # resp.instance_groups[0].on_start_deep_health_checks[0] #=> String, one of "InstanceStress", "InstanceConnectivity" # resp.vpc_config.security_group_ids #=> Array # resp.vpc_config.security_group_ids[0] #=> String # resp.vpc_config.subnets #=> Array # resp.vpc_config.subnets[0] #=> String + # resp.orchestrator.eks.cluster_arn #=> String + # resp.node_recovery #=> String, one of "Automatic", "None" # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCluster AWS API Documentation # @@ -12126,7 +12151,7 @@ def describe_cluster(params = {}, options = {}) # # resp.node_details.instance_group_name #=> String # resp.node_details.instance_id #=> String - # resp.node_details.instance_status.status #=> String, one of "Running", "Failure", "Pending", "ShuttingDown", "SystemUpdating" + # resp.node_details.instance_status.status #=> String, one of "Running", "Failure", "Pending", "ShuttingDown", "SystemUpdating", "DeepHealthCheckInProgress" # resp.node_details.instance_status.message #=> String # resp.node_details.instance_type #=> String, one of "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.p5.48xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.c5n.large", "ml.c5n.2xlarge", "ml.c5n.4xlarge", "ml.c5n.9xlarge", "ml.c5n.18xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge" # resp.node_details.launch_time #=> Time @@ -18137,7 +18162,7 @@ def list_candidates_for_auto_ml_job(params = {}, options = {}) # resp.cluster_node_summaries[0].instance_id #=> String # resp.cluster_node_summaries[0].instance_type #=> String, one of "ml.p4d.24xlarge", "ml.p4de.24xlarge", "ml.p5.48xlarge", "ml.trn1.32xlarge", "ml.trn1n.32xlarge", "ml.g5.xlarge", "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.16xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.c5.large", "ml.c5.xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.12xlarge", "ml.c5.18xlarge", "ml.c5.24xlarge", "ml.c5n.large", "ml.c5n.2xlarge", "ml.c5n.4xlarge", "ml.c5n.9xlarge", "ml.c5n.18xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.8xlarge", "ml.m5.12xlarge", "ml.m5.16xlarge", "ml.m5.24xlarge", "ml.t3.medium", "ml.t3.large", "ml.t3.xlarge", "ml.t3.2xlarge" # resp.cluster_node_summaries[0].launch_time #=> Time - # resp.cluster_node_summaries[0].instance_status.status #=> String, one of "Running", "Failure", "Pending", "ShuttingDown", "SystemUpdating" + # resp.cluster_node_summaries[0].instance_status.status #=> String, one of "Running", "Failure", "Pending", "ShuttingDown", "SystemUpdating", "DeepHealthCheckInProgress" # resp.cluster_node_summaries[0].instance_status.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListClusterNodes AWS API Documentation @@ -24719,6 +24744,10 @@ def update_artifact(params = {}, options = {}) # @option params [required, Array] :instance_groups # Specify the instance groups to update. # + # @option params [String] :node_recovery + # The node recovery mode to be applied to the SageMaker HyperPod + # cluster. + # # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateClusterResponse#cluster_arn #cluster_arn} => String @@ -24736,7 +24765,7 @@ def update_artifact(params = {}, options = {}) # source_s3_uri: "S3Uri", # required # on_create: "ClusterLifeCycleConfigFileName", # required # }, - # execution_role: "IAMRoleArn", # required + # execution_role: "RoleArn", # required # threads_per_core: 1, # instance_storage_configs: [ # { @@ -24745,8 +24774,10 @@ def update_artifact(params = {}, options = {}) # }, # }, # ], + # on_start_deep_health_checks: ["InstanceStress"], # accepts InstanceStress, InstanceConnectivity # }, # ], + # node_recovery: "Automatic", # accepts Automatic, None # }) # # @example Response structure @@ -27737,7 +27768,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-sagemaker' - context[:gem_version] = '1.259.0' + context[:gem_version] = '1.260.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb index 58639b6fecb..b5aa65bfc27 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client_api.rb @@ -283,9 +283,12 @@ module ClientApi ClusterNameOrArn = Shapes::StringShape.new(name: 'ClusterNameOrArn') ClusterNodeDetails = Shapes::StructureShape.new(name: 'ClusterNodeDetails') ClusterNodeId = Shapes::StringShape.new(name: 'ClusterNodeId') + ClusterNodeRecovery = Shapes::StringShape.new(name: 'ClusterNodeRecovery') ClusterNodeSummaries = Shapes::ListShape.new(name: 'ClusterNodeSummaries') ClusterNodeSummary = Shapes::StructureShape.new(name: 'ClusterNodeSummary') ClusterNonNegativeInstanceCount = Shapes::IntegerShape.new(name: 'ClusterNonNegativeInstanceCount') + ClusterOrchestrator = Shapes::StructureShape.new(name: 'ClusterOrchestrator') + ClusterOrchestratorEksConfig = Shapes::StructureShape.new(name: 'ClusterOrchestratorEksConfig') ClusterPrivateDnsHostname = Shapes::StringShape.new(name: 'ClusterPrivateDnsHostname') ClusterPrivatePrimaryIp = Shapes::StringShape.new(name: 'ClusterPrivatePrimaryIp') ClusterSortBy = Shapes::StringShape.new(name: 'ClusterSortBy') @@ -510,6 +513,7 @@ module ClientApi DebugRuleConfigurations = Shapes::ListShape.new(name: 'DebugRuleConfigurations') DebugRuleEvaluationStatus = Shapes::StructureShape.new(name: 'DebugRuleEvaluationStatus') DebugRuleEvaluationStatuses = Shapes::ListShape.new(name: 'DebugRuleEvaluationStatuses') + DeepHealthCheckType = Shapes::StringShape.new(name: 'DeepHealthCheckType') DefaultEbsStorageSettings = Shapes::StructureShape.new(name: 'DefaultEbsStorageSettings') DefaultGid = Shapes::IntegerShape.new(name: 'DefaultGid') DefaultSpaceSettings = Shapes::StructureShape.new(name: 'DefaultSpaceSettings') @@ -812,6 +816,7 @@ module ClientApi EdgeVersion = Shapes::StringShape.new(name: 'EdgeVersion') Edges = Shapes::ListShape.new(name: 'Edges') EfsUid = Shapes::StringShape.new(name: 'EfsUid') + EksClusterArn = Shapes::StringShape.new(name: 'EksClusterArn') EmrServerlessComputeConfig = Shapes::StructureShape.new(name: 'EmrServerlessComputeConfig') EmrServerlessSettings = Shapes::StructureShape.new(name: 'EmrServerlessSettings') EmrSettings = Shapes::StructureShape.new(name: 'EmrSettings') @@ -1048,7 +1053,6 @@ module ClientApi HyperbandStrategyConfig = Shapes::StructureShape.new(name: 'HyperbandStrategyConfig') HyperbandStrategyMaxResource = Shapes::IntegerShape.new(name: 'HyperbandStrategyMaxResource') HyperbandStrategyMinResource = Shapes::IntegerShape.new(name: 'HyperbandStrategyMinResource') - IAMRoleArn = Shapes::StringShape.new(name: 'IAMRoleArn') IamIdentity = Shapes::StructureShape.new(name: 'IamIdentity') IamPolicyConstraints = Shapes::StructureShape.new(name: 'IamPolicyConstraints') IdempotencyToken = Shapes::StringShape.new(name: 'IdempotencyToken') @@ -1638,6 +1642,7 @@ module ClientApi OidcConfigForResponse = Shapes::StructureShape.new(name: 'OidcConfigForResponse') OidcEndpoint = Shapes::StringShape.new(name: 'OidcEndpoint') OidcMemberDefinition = Shapes::StructureShape.new(name: 'OidcMemberDefinition') + OnStartDeepHealthChecks = Shapes::ListShape.new(name: 'OnStartDeepHealthChecks') OnlineStoreConfig = Shapes::StructureShape.new(name: 'OnlineStoreConfig') OnlineStoreConfigUpdate = Shapes::StructureShape.new(name: 'OnlineStoreConfigUpdate') OnlineStoreSecurityConfig = Shapes::StructureShape.new(name: 'OnlineStoreSecurityConfig') @@ -2962,9 +2967,10 @@ module ClientApi ClusterInstanceGroupDetails.add_member(:instance_group_name, Shapes::ShapeRef.new(shape: ClusterInstanceGroupName, location_name: "InstanceGroupName")) ClusterInstanceGroupDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: ClusterInstanceType, location_name: "InstanceType")) ClusterInstanceGroupDetails.add_member(:life_cycle_config, Shapes::ShapeRef.new(shape: ClusterLifeCycleConfig, location_name: "LifeCycleConfig")) - ClusterInstanceGroupDetails.add_member(:execution_role, Shapes::ShapeRef.new(shape: IAMRoleArn, location_name: "ExecutionRole")) + ClusterInstanceGroupDetails.add_member(:execution_role, Shapes::ShapeRef.new(shape: RoleArn, location_name: "ExecutionRole")) ClusterInstanceGroupDetails.add_member(:threads_per_core, Shapes::ShapeRef.new(shape: ClusterThreadsPerCore, location_name: "ThreadsPerCore")) ClusterInstanceGroupDetails.add_member(:instance_storage_configs, Shapes::ShapeRef.new(shape: ClusterInstanceStorageConfigs, location_name: "InstanceStorageConfigs")) + ClusterInstanceGroupDetails.add_member(:on_start_deep_health_checks, Shapes::ShapeRef.new(shape: OnStartDeepHealthChecks, location_name: "OnStartDeepHealthChecks")) ClusterInstanceGroupDetails.struct_class = Types::ClusterInstanceGroupDetails ClusterInstanceGroupDetailsList.member = Shapes::ShapeRef.new(shape: ClusterInstanceGroupDetails) @@ -2973,9 +2979,10 @@ module ClientApi ClusterInstanceGroupSpecification.add_member(:instance_group_name, Shapes::ShapeRef.new(shape: ClusterInstanceGroupName, required: true, location_name: "InstanceGroupName")) ClusterInstanceGroupSpecification.add_member(:instance_type, Shapes::ShapeRef.new(shape: ClusterInstanceType, required: true, location_name: "InstanceType")) ClusterInstanceGroupSpecification.add_member(:life_cycle_config, Shapes::ShapeRef.new(shape: ClusterLifeCycleConfig, required: true, location_name: "LifeCycleConfig")) - ClusterInstanceGroupSpecification.add_member(:execution_role, Shapes::ShapeRef.new(shape: IAMRoleArn, required: true, location_name: "ExecutionRole")) + ClusterInstanceGroupSpecification.add_member(:execution_role, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "ExecutionRole")) ClusterInstanceGroupSpecification.add_member(:threads_per_core, Shapes::ShapeRef.new(shape: ClusterThreadsPerCore, location_name: "ThreadsPerCore")) ClusterInstanceGroupSpecification.add_member(:instance_storage_configs, Shapes::ShapeRef.new(shape: ClusterInstanceStorageConfigs, location_name: "InstanceStorageConfigs")) + ClusterInstanceGroupSpecification.add_member(:on_start_deep_health_checks, Shapes::ShapeRef.new(shape: OnStartDeepHealthChecks, location_name: "OnStartDeepHealthChecks")) ClusterInstanceGroupSpecification.struct_class = Types::ClusterInstanceGroupSpecification ClusterInstanceGroupSpecifications.member = Shapes::ShapeRef.new(shape: ClusterInstanceGroupSpecification) @@ -3022,6 +3029,12 @@ module ClientApi ClusterNodeSummary.add_member(:instance_status, Shapes::ShapeRef.new(shape: ClusterInstanceStatusDetails, required: true, location_name: "InstanceStatus")) ClusterNodeSummary.struct_class = Types::ClusterNodeSummary + ClusterOrchestrator.add_member(:eks, Shapes::ShapeRef.new(shape: ClusterOrchestratorEksConfig, required: true, location_name: "Eks")) + ClusterOrchestrator.struct_class = Types::ClusterOrchestrator + + ClusterOrchestratorEksConfig.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: EksClusterArn, required: true, location_name: "ClusterArn")) + ClusterOrchestratorEksConfig.struct_class = Types::ClusterOrchestratorEksConfig + ClusterSummaries.member = Shapes::ShapeRef.new(shape: ClusterSummary) ClusterSummary.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ClusterArn, required: true, location_name: "ClusterArn")) @@ -3252,6 +3265,8 @@ module ClientApi CreateClusterRequest.add_member(:instance_groups, Shapes::ShapeRef.new(shape: ClusterInstanceGroupSpecifications, required: true, location_name: "InstanceGroups")) CreateClusterRequest.add_member(:vpc_config, Shapes::ShapeRef.new(shape: VpcConfig, location_name: "VpcConfig")) CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags")) + CreateClusterRequest.add_member(:orchestrator, Shapes::ShapeRef.new(shape: ClusterOrchestrator, location_name: "Orchestrator")) + CreateClusterRequest.add_member(:node_recovery, Shapes::ShapeRef.new(shape: ClusterNodeRecovery, location_name: "NodeRecovery")) CreateClusterRequest.struct_class = Types::CreateClusterRequest CreateClusterResponse.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ClusterArn, required: true, location_name: "ClusterArn")) @@ -4468,6 +4483,8 @@ module ClientApi DescribeClusterResponse.add_member(:failure_message, Shapes::ShapeRef.new(shape: String, location_name: "FailureMessage")) DescribeClusterResponse.add_member(:instance_groups, Shapes::ShapeRef.new(shape: ClusterInstanceGroupDetailsList, required: true, location_name: "InstanceGroups")) DescribeClusterResponse.add_member(:vpc_config, Shapes::ShapeRef.new(shape: VpcConfig, location_name: "VpcConfig")) + DescribeClusterResponse.add_member(:orchestrator, Shapes::ShapeRef.new(shape: ClusterOrchestrator, location_name: "Orchestrator")) + DescribeClusterResponse.add_member(:node_recovery, Shapes::ShapeRef.new(shape: ClusterNodeRecovery, location_name: "NodeRecovery")) DescribeClusterResponse.struct_class = Types::DescribeClusterResponse DescribeCodeRepositoryInput.add_member(:code_repository_name, Shapes::ShapeRef.new(shape: EntityName, required: true, location_name: "CodeRepositoryName")) @@ -8389,6 +8406,8 @@ module ClientApi OidcMemberDefinition.add_member(:groups, Shapes::ShapeRef.new(shape: Groups, location_name: "Groups")) OidcMemberDefinition.struct_class = Types::OidcMemberDefinition + OnStartDeepHealthChecks.member = Shapes::ShapeRef.new(shape: DeepHealthCheckType) + OnlineStoreConfig.add_member(:security_config, Shapes::ShapeRef.new(shape: OnlineStoreSecurityConfig, location_name: "SecurityConfig")) OnlineStoreConfig.add_member(:enable_online_store, Shapes::ShapeRef.new(shape: Boolean, location_name: "EnableOnlineStore")) OnlineStoreConfig.add_member(:ttl_duration, Shapes::ShapeRef.new(shape: TtlDuration, location_name: "TtlDuration")) @@ -9968,6 +9987,7 @@ module ClientApi UpdateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: ClusterNameOrArn, required: true, location_name: "ClusterName")) UpdateClusterRequest.add_member(:instance_groups, Shapes::ShapeRef.new(shape: ClusterInstanceGroupSpecifications, required: true, location_name: "InstanceGroups")) + UpdateClusterRequest.add_member(:node_recovery, Shapes::ShapeRef.new(shape: ClusterNodeRecovery, location_name: "NodeRecovery")) UpdateClusterRequest.struct_class = Types::UpdateClusterRequest UpdateClusterResponse.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ClusterArn, required: true, location_name: "ClusterArn")) diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb index 0105f6ccc90..4166cc693b2 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb @@ -4157,6 +4157,11 @@ class ClusterEbsVolumeConfig < Struct.new( # SageMaker HyperPod cluster instance group. # @return [Array] # + # @!attribute [rw] on_start_deep_health_checks + # A flag indicating whether deep health checks should be performed + # when the cluster instance group is created or updated. + # @return [Array] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterInstanceGroupDetails AWS API Documentation # class ClusterInstanceGroupDetails < Struct.new( @@ -4167,7 +4172,8 @@ class ClusterInstanceGroupDetails < Struct.new( :life_cycle_config, :execution_role, :threads_per_core, - :instance_storage_configs) + :instance_storage_configs, + :on_start_deep_health_checks) SENSITIVE = [] include Aws::Structure end @@ -4214,6 +4220,11 @@ class ClusterInstanceGroupDetails < Struct.new( # the SageMaker HyperPod cluster instance group. # @return [Array] # + # @!attribute [rw] on_start_deep_health_checks + # A flag indicating whether deep health checks should be performed + # when the cluster instance group is created or updated. + # @return [Array] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterInstanceGroupSpecification AWS API Documentation # class ClusterInstanceGroupSpecification < Struct.new( @@ -4223,7 +4234,8 @@ class ClusterInstanceGroupSpecification < Struct.new( :life_cycle_config, :execution_role, :threads_per_core, - :instance_storage_configs) + :instance_storage_configs, + :on_start_deep_health_checks) SENSITIVE = [] include Aws::Structure end @@ -4436,6 +4448,37 @@ class ClusterNodeSummary < Struct.new( include Aws::Structure end + # The type of orchestrator used for the SageMaker HyperPod cluster. + # + # @!attribute [rw] eks + # The Amazon EKS cluster used as the orchestrator for the SageMaker + # HyperPod cluster. + # @return [Types::ClusterOrchestratorEksConfig] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterOrchestrator AWS API Documentation + # + class ClusterOrchestrator < Struct.new( + :eks) + SENSITIVE = [] + include Aws::Structure + end + + # The configuration settings for the Amazon EKS cluster used as the + # orchestrator for the SageMaker HyperPod cluster. + # + # @!attribute [rw] cluster_arn + # The Amazon Resource Name (ARN) of the Amazon EKS cluster associated + # with the SageMaker HyperPod cluster. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterOrchestratorEksConfig AWS API Documentation + # + class ClusterOrchestratorEksConfig < Struct.new( + :cluster_arn) + SENSITIVE = [] + include Aws::Structure + end + # Lists a summary of the properties of a SageMaker HyperPod cluster. # # @!attribute [rw] cluster_arn @@ -5738,13 +5781,29 @@ class CreateAutoMLJobV2Response < Struct.new( # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html # @return [Array] # + # @!attribute [rw] orchestrator + # The type of orchestrator to use for the SageMaker HyperPod cluster. + # Currently, the only supported value is `"eks"`, which is to use an + # Amazon Elastic Kubernetes Service (EKS) cluster as the orchestrator. + # @return [Types::ClusterOrchestrator] + # + # @!attribute [rw] node_recovery + # The node recovery mode for the SageMaker HyperPod cluster. When set + # to `Automatic`, SageMaker HyperPod will automatically reboot or + # replace faulty nodes when issues are detected. When set to `None`, + # cluster administrators will need to manually manage any faulty + # cluster instances. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateClusterRequest AWS API Documentation # class CreateClusterRequest < Struct.new( :cluster_name, :instance_groups, :vpc_config, - :tags) + :tags, + :orchestrator, + :node_recovery) SENSITIVE = [] include Aws::Structure end @@ -12807,6 +12866,15 @@ class DescribeClusterRequest < Struct.new( # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html # @return [Types::VpcConfig] # + # @!attribute [rw] orchestrator + # The type of orchestrator used for the SageMaker HyperPod cluster. + # @return [Types::ClusterOrchestrator] + # + # @!attribute [rw] node_recovery + # The node recovery mode configured for the SageMaker HyperPod + # cluster. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeClusterResponse AWS API Documentation # class DescribeClusterResponse < Struct.new( @@ -12816,7 +12884,9 @@ class DescribeClusterResponse < Struct.new( :creation_time, :failure_message, :instance_groups, - :vpc_config) + :vpc_config, + :orchestrator, + :node_recovery) SENSITIVE = [] include Aws::Structure end @@ -44979,11 +45049,17 @@ class UpdateArtifactResponse < Struct.new( # Specify the instance groups to update. # @return [Array] # + # @!attribute [rw] node_recovery + # The node recovery mode to be applied to the SageMaker HyperPod + # cluster. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateClusterRequest AWS API Documentation # class UpdateClusterRequest < Struct.new( :cluster_name, - :instance_groups) + :instance_groups, + :node_recovery) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-sagemaker/sig/client.rbs b/gems/aws-sdk-sagemaker/sig/client.rbs index 530f5f06420..66d2d994915 100644 --- a/gems/aws-sdk-sagemaker/sig/client.rbs +++ b/gems/aws-sdk-sagemaker/sig/client.rbs @@ -712,7 +712,8 @@ module Aws volume_size_in_gb: ::Integer }? }, - ]? + ]?, + on_start_deep_health_checks: Array[("InstanceStress" | "InstanceConnectivity")]? }, ], ?vpc_config: { @@ -724,7 +725,13 @@ module Aws key: ::String, value: ::String }, - ] + ], + ?orchestrator: { + eks: { + cluster_arn: ::String + } + }, + ?node_recovery: ("Automatic" | "None") ) -> _CreateClusterResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateClusterResponseSuccess @@ -4889,6 +4896,8 @@ module Aws def failure_message: () -> ::String def instance_groups: () -> ::Array[Types::ClusterInstanceGroupDetails] def vpc_config: () -> Types::VpcConfig + def orchestrator: () -> Types::ClusterOrchestrator + def node_recovery: () -> ("Automatic" | "None") end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#describe_cluster-instance_method def describe_cluster: ( @@ -8075,9 +8084,11 @@ module Aws volume_size_in_gb: ::Integer }? }, - ]? + ]?, + on_start_deep_health_checks: Array[("InstanceStress" | "InstanceConnectivity")]? }, - ] + ], + ?node_recovery: ("Automatic" | "None") ) -> _UpdateClusterResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateClusterResponseSuccess diff --git a/gems/aws-sdk-sagemaker/sig/types.rbs b/gems/aws-sdk-sagemaker/sig/types.rbs index 96c033d9775..888ea2dca99 100644 --- a/gems/aws-sdk-sagemaker/sig/types.rbs +++ b/gems/aws-sdk-sagemaker/sig/types.rbs @@ -710,6 +710,7 @@ module Aws::SageMaker attr_accessor execution_role: ::String attr_accessor threads_per_core: ::Integer attr_accessor instance_storage_configs: ::Array[Types::ClusterInstanceStorageConfig] + attr_accessor on_start_deep_health_checks: ::Array[("InstanceStress" | "InstanceConnectivity")] SENSITIVE: [] end @@ -721,6 +722,7 @@ module Aws::SageMaker attr_accessor execution_role: ::String attr_accessor threads_per_core: ::Integer attr_accessor instance_storage_configs: ::Array[Types::ClusterInstanceStorageConfig] + attr_accessor on_start_deep_health_checks: ::Array[("InstanceStress" | "InstanceConnectivity")] SENSITIVE: [] end @@ -731,7 +733,7 @@ module Aws::SageMaker end class ClusterInstanceStatusDetails - attr_accessor status: ("Running" | "Failure" | "Pending" | "ShuttingDown" | "SystemUpdating") + attr_accessor status: ("Running" | "Failure" | "Pending" | "ShuttingDown" | "SystemUpdating" | "DeepHealthCheckInProgress") attr_accessor message: ::String SENSITIVE: [] end @@ -777,6 +779,16 @@ module Aws::SageMaker SENSITIVE: [] end + class ClusterOrchestrator + attr_accessor eks: Types::ClusterOrchestratorEksConfig + SENSITIVE: [] + end + + class ClusterOrchestratorEksConfig + attr_accessor cluster_arn: ::String + SENSITIVE: [] + end + class ClusterSummary attr_accessor cluster_arn: ::String attr_accessor cluster_name: ::String @@ -1048,6 +1060,8 @@ module Aws::SageMaker attr_accessor instance_groups: ::Array[Types::ClusterInstanceGroupSpecification] attr_accessor vpc_config: Types::VpcConfig attr_accessor tags: ::Array[Types::Tag] + attr_accessor orchestrator: Types::ClusterOrchestrator + attr_accessor node_recovery: ("Automatic" | "None") SENSITIVE: [] end @@ -2668,6 +2682,8 @@ module Aws::SageMaker attr_accessor failure_message: ::String attr_accessor instance_groups: ::Array[Types::ClusterInstanceGroupDetails] attr_accessor vpc_config: Types::VpcConfig + attr_accessor orchestrator: Types::ClusterOrchestrator + attr_accessor node_recovery: ("Automatic" | "None") SENSITIVE: [] end @@ -9337,6 +9353,7 @@ module Aws::SageMaker class UpdateClusterRequest attr_accessor cluster_name: ::String attr_accessor instance_groups: ::Array[Types::ClusterInstanceGroupSpecification] + attr_accessor node_recovery: ("Automatic" | "None") SENSITIVE: [] end diff --git a/gems/aws-sdk-sagemakerruntime/CHANGELOG.md b/gems/aws-sdk-sagemakerruntime/CHANGELOG.md index d223d0afbe5..fb6d5099f31 100644 --- a/gems/aws-sdk-sagemakerruntime/CHANGELOG.md +++ b/gems/aws-sdk-sagemakerruntime/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.70.0 (2024-09-09) +------------------ + +* Feature - AWS SageMaker Runtime feature: Add sticky routing to support stateful inference models. + 1.69.0 (2024-09-03) ------------------ diff --git a/gems/aws-sdk-sagemakerruntime/VERSION b/gems/aws-sdk-sagemakerruntime/VERSION index 49349856550..832e9afb6c1 100644 --- a/gems/aws-sdk-sagemakerruntime/VERSION +++ b/gems/aws-sdk-sagemakerruntime/VERSION @@ -1 +1 @@ -1.69.0 +1.70.0 diff --git a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime.rb b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime.rb index 83e3b765003..9fa2f6768fc 100644 --- a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime.rb +++ b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime.rb @@ -53,6 +53,6 @@ # @!group service module Aws::SageMakerRuntime - GEM_VERSION = '1.69.0' + GEM_VERSION = '1.70.0' end diff --git a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb index 36d35bb5dcb..22f0fe1d156 100644 --- a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb +++ b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client.rb @@ -577,12 +577,31 @@ def initialize(*args) # If the endpoint hosts one or more inference components, this parameter # specifies the name of inference component to invoke. # + # @option params [String] :session_id + # Creates a stateful session or identifies an existing one. You can do + # one of the following: + # + # * Create a stateful session by specifying the value `NEW_SESSION`. + # + # * Send your request to an existing stateful session by specifying the + # ID of that session. + # + # With a stateful session, you can send multiple requests to a stateful + # model. When you create a session with a stateful model, the model must + # create the session ID and set the expiration time. The model must also + # provide that information in the response to your request. You can get + # the ID and timestamp from the `NewSessionId` response parameter. For + # any subsequent request where you specify that session ID, SageMaker + # routes the request to the same instance that supports the session. + # # @return [Types::InvokeEndpointOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::InvokeEndpointOutput#body #body} => String # * {Types::InvokeEndpointOutput#content_type #content_type} => String # * {Types::InvokeEndpointOutput#invoked_production_variant #invoked_production_variant} => String # * {Types::InvokeEndpointOutput#custom_attributes #custom_attributes} => String + # * {Types::InvokeEndpointOutput#new_session_id #new_session_id} => String + # * {Types::InvokeEndpointOutput#closed_session_id #closed_session_id} => String # # @example Request syntax with placeholder values # @@ -598,6 +617,7 @@ def initialize(*args) # inference_id: "InferenceId", # enable_explanations: "EnableExplanationsHeader", # inference_component_name: "InferenceComponentHeader", + # session_id: "SessionIdOrNewSessionConstantHeader", # }) # # @example Response structure @@ -606,6 +626,8 @@ def initialize(*args) # resp.content_type #=> String # resp.invoked_production_variant #=> String # resp.custom_attributes #=> String + # resp.new_session_id #=> String + # resp.closed_session_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/runtime.sagemaker-2017-05-13/InvokeEndpoint AWS API Documentation # @@ -843,6 +865,16 @@ def invoke_endpoint_async(params = {}, options = {}) # specifies the name of inference component to invoke for a streaming # response. # + # @option params [String] :session_id + # The ID of a stateful session to handle your request. + # + # You can't create a stateful session by using the + # `InvokeEndpointWithResponseStream` action. Instead, you can create one + # by using the ` InvokeEndpoint ` action. In your request, you specify + # `NEW_SESSION` for the `SessionId` request parameter. The response to + # that request provides the session ID for the `NewSessionId` response + # parameter. + # # @return [Types::InvokeEndpointWithResponseStreamOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::InvokeEndpointWithResponseStreamOutput#body #body} => Types::ResponseStream @@ -963,6 +995,7 @@ def invoke_endpoint_async(params = {}, options = {}) # target_container_hostname: "TargetContainerHostnameHeader", # inference_id: "InferenceId", # inference_component_name: "InferenceComponentHeader", + # session_id: "SessionIdHeader", # }) # # @example Response structure @@ -1030,7 +1063,7 @@ def build_request(operation_name, params = {}) tracer: tracer ) context[:gem_name] = 'aws-sdk-sagemakerruntime' - context[:gem_version] = '1.69.0' + context[:gem_version] = '1.70.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client_api.rb b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client_api.rb index 1fd16b743b3..d6b029d5a51 100644 --- a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client_api.rb +++ b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/client_api.rb @@ -37,11 +37,14 @@ module ClientApi ModelError = Shapes::StructureShape.new(name: 'ModelError') ModelNotReadyException = Shapes::StructureShape.new(name: 'ModelNotReadyException') ModelStreamError = Shapes::StructureShape.new(name: 'ModelStreamError') + NewSessionResponseHeader = Shapes::StringShape.new(name: 'NewSessionResponseHeader') PartBlob = Shapes::BlobShape.new(name: 'PartBlob') PayloadPart = Shapes::StructureShape.new(name: 'PayloadPart') RequestTTLSecondsHeader = Shapes::IntegerShape.new(name: 'RequestTTLSecondsHeader') ResponseStream = Shapes::StructureShape.new(name: 'ResponseStream') ServiceUnavailable = Shapes::StructureShape.new(name: 'ServiceUnavailable') + SessionIdHeader = Shapes::StringShape.new(name: 'SessionIdHeader') + SessionIdOrNewSessionConstantHeader = Shapes::StringShape.new(name: 'SessionIdOrNewSessionConstantHeader') StatusCode = Shapes::IntegerShape.new(name: 'StatusCode') TargetContainerHostnameHeader = Shapes::StringShape.new(name: 'TargetContainerHostnameHeader') TargetModelHeader = Shapes::StringShape.new(name: 'TargetModelHeader') @@ -83,6 +86,7 @@ module ClientApi InvokeEndpointInput.add_member(:inference_id, Shapes::ShapeRef.new(shape: InferenceId, location: "header", location_name: "X-Amzn-SageMaker-Inference-Id")) InvokeEndpointInput.add_member(:enable_explanations, Shapes::ShapeRef.new(shape: EnableExplanationsHeader, location: "header", location_name: "X-Amzn-SageMaker-Enable-Explanations")) InvokeEndpointInput.add_member(:inference_component_name, Shapes::ShapeRef.new(shape: InferenceComponentHeader, location: "header", location_name: "X-Amzn-SageMaker-Inference-Component")) + InvokeEndpointInput.add_member(:session_id, Shapes::ShapeRef.new(shape: SessionIdOrNewSessionConstantHeader, location: "header", location_name: "X-Amzn-SageMaker-Session-Id")) InvokeEndpointInput.struct_class = Types::InvokeEndpointInput InvokeEndpointInput[:payload] = :body InvokeEndpointInput[:payload_member] = InvokeEndpointInput.member(:body) @@ -91,6 +95,8 @@ module ClientApi InvokeEndpointOutput.add_member(:content_type, Shapes::ShapeRef.new(shape: Header, location: "header", location_name: "Content-Type")) InvokeEndpointOutput.add_member(:invoked_production_variant, Shapes::ShapeRef.new(shape: Header, location: "header", location_name: "x-Amzn-Invoked-Production-Variant")) InvokeEndpointOutput.add_member(:custom_attributes, Shapes::ShapeRef.new(shape: CustomAttributesHeader, location: "header", location_name: "X-Amzn-SageMaker-Custom-Attributes")) + InvokeEndpointOutput.add_member(:new_session_id, Shapes::ShapeRef.new(shape: NewSessionResponseHeader, location: "header", location_name: "X-Amzn-SageMaker-New-Session-Id")) + InvokeEndpointOutput.add_member(:closed_session_id, Shapes::ShapeRef.new(shape: SessionIdHeader, location: "header", location_name: "X-Amzn-SageMaker-Closed-Session-Id")) InvokeEndpointOutput.struct_class = Types::InvokeEndpointOutput InvokeEndpointOutput[:payload] = :body InvokeEndpointOutput[:payload_member] = InvokeEndpointOutput.member(:body) @@ -104,6 +110,7 @@ module ClientApi InvokeEndpointWithResponseStreamInput.add_member(:target_container_hostname, Shapes::ShapeRef.new(shape: TargetContainerHostnameHeader, location: "header", location_name: "X-Amzn-SageMaker-Target-Container-Hostname")) InvokeEndpointWithResponseStreamInput.add_member(:inference_id, Shapes::ShapeRef.new(shape: InferenceId, location: "header", location_name: "X-Amzn-SageMaker-Inference-Id")) InvokeEndpointWithResponseStreamInput.add_member(:inference_component_name, Shapes::ShapeRef.new(shape: InferenceComponentHeader, location: "header", location_name: "X-Amzn-SageMaker-Inference-Component")) + InvokeEndpointWithResponseStreamInput.add_member(:session_id, Shapes::ShapeRef.new(shape: SessionIdHeader, location: "header", location_name: "X-Amzn-SageMaker-Session-Id")) InvokeEndpointWithResponseStreamInput.struct_class = Types::InvokeEndpointWithResponseStreamInput InvokeEndpointWithResponseStreamInput[:payload] = :body InvokeEndpointWithResponseStreamInput[:payload_member] = InvokeEndpointWithResponseStreamInput.member(:body) diff --git a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/types.rb b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/types.rb index 597e27b5445..9067746f43f 100644 --- a/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/types.rb +++ b/gems/aws-sdk-sagemakerruntime/lib/aws-sdk-sagemakerruntime/types.rb @@ -262,6 +262,25 @@ class InvokeEndpointAsyncOutput < Struct.new( # parameter specifies the name of inference component to invoke. # @return [String] # + # @!attribute [rw] session_id + # Creates a stateful session or identifies an existing one. You can do + # one of the following: + # + # * Create a stateful session by specifying the value `NEW_SESSION`. + # + # * Send your request to an existing stateful session by specifying + # the ID of that session. + # + # With a stateful session, you can send multiple requests to a + # stateful model. When you create a session with a stateful model, the + # model must create the session ID and set the expiration time. The + # model must also provide that information in the response to your + # request. You can get the ID and timestamp from the `NewSessionId` + # response parameter. For any subsequent request where you specify + # that session ID, SageMaker routes the request to the same instance + # that supports the session. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/runtime.sagemaker-2017-05-13/InvokeEndpointInput AWS API Documentation # class InvokeEndpointInput < Struct.new( @@ -275,7 +294,8 @@ class InvokeEndpointInput < Struct.new( :target_container_hostname, :inference_id, :enable_explanations, - :inference_component_name) + :inference_component_name, + :session_id) SENSITIVE = [:body, :custom_attributes] include Aws::Structure end @@ -331,13 +351,25 @@ class InvokeEndpointInput < Struct.new( # [1]: https://tools.ietf.org/html/rfc7230#section-3.2.6 # @return [String] # + # @!attribute [rw] new_session_id + # If you created a stateful session with your request, the ID and + # expiration time that the model assigns to that session. + # @return [String] + # + # @!attribute [rw] closed_session_id + # If you closed a stateful session with your request, the ID of that + # session. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/runtime.sagemaker-2017-05-13/InvokeEndpointOutput AWS API Documentation # class InvokeEndpointOutput < Struct.new( :body, :content_type, :invoked_production_variant, - :custom_attributes) + :custom_attributes, + :new_session_id, + :closed_session_id) SENSITIVE = [:body, :custom_attributes] include Aws::Structure end @@ -429,6 +461,17 @@ class InvokeEndpointOutput < Struct.new( # streaming response. # @return [String] # + # @!attribute [rw] session_id + # The ID of a stateful session to handle your request. + # + # You can't create a stateful session by using the + # `InvokeEndpointWithResponseStream` action. Instead, you can create + # one by using the ` InvokeEndpoint ` action. In your request, you + # specify `NEW_SESSION` for the `SessionId` request parameter. The + # response to that request provides the session ID for the + # `NewSessionId` response parameter. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/runtime.sagemaker-2017-05-13/InvokeEndpointWithResponseStreamInput AWS API Documentation # class InvokeEndpointWithResponseStreamInput < Struct.new( @@ -440,7 +483,8 @@ class InvokeEndpointWithResponseStreamInput < Struct.new( :target_variant, :target_container_hostname, :inference_id, - :inference_component_name) + :inference_component_name, + :session_id) SENSITIVE = [:body, :custom_attributes] include Aws::Structure end diff --git a/gems/aws-sdk-sagemakerruntime/sig/client.rbs b/gems/aws-sdk-sagemakerruntime/sig/client.rbs index fbe81d0d9d5..bf8f8d7c8b0 100644 --- a/gems/aws-sdk-sagemakerruntime/sig/client.rbs +++ b/gems/aws-sdk-sagemakerruntime/sig/client.rbs @@ -83,6 +83,8 @@ module Aws def content_type: () -> ::String def invoked_production_variant: () -> ::String def custom_attributes: () -> ::String + def new_session_id: () -> ::String + def closed_session_id: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMakerRuntime/Client.html#invoke_endpoint-instance_method def invoke_endpoint: ( @@ -96,7 +98,8 @@ module Aws ?target_container_hostname: ::String, ?inference_id: ::String, ?enable_explanations: ::String, - ?inference_component_name: ::String + ?inference_component_name: ::String, + ?session_id: ::String ) -> _InvokeEndpointResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _InvokeEndpointResponseSuccess @@ -136,7 +139,8 @@ module Aws ?target_variant: ::String, ?target_container_hostname: ::String, ?inference_id: ::String, - ?inference_component_name: ::String + ?inference_component_name: ::String, + ?session_id: ::String ) ?{ (*untyped) -> void } -> _InvokeEndpointWithResponseStreamResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _InvokeEndpointWithResponseStreamResponseSuccess end diff --git a/gems/aws-sdk-sagemakerruntime/sig/types.rbs b/gems/aws-sdk-sagemakerruntime/sig/types.rbs index 24a58b9f794..706c87c7a3b 100644 --- a/gems/aws-sdk-sagemakerruntime/sig/types.rbs +++ b/gems/aws-sdk-sagemakerruntime/sig/types.rbs @@ -55,6 +55,7 @@ module Aws::SageMakerRuntime attr_accessor inference_id: ::String attr_accessor enable_explanations: ::String attr_accessor inference_component_name: ::String + attr_accessor session_id: ::String SENSITIVE: [:body, :custom_attributes] end @@ -63,6 +64,8 @@ module Aws::SageMakerRuntime attr_accessor content_type: ::String attr_accessor invoked_production_variant: ::String attr_accessor custom_attributes: ::String + attr_accessor new_session_id: ::String + attr_accessor closed_session_id: ::String SENSITIVE: [:body, :custom_attributes] end @@ -76,6 +79,7 @@ module Aws::SageMakerRuntime attr_accessor target_container_hostname: ::String attr_accessor inference_id: ::String attr_accessor inference_component_name: ::String + attr_accessor session_id: ::String SENSITIVE: [:body, :custom_attributes] end