From 03e4f2daa934a55385b6e710f674260a00366ecc Mon Sep 17 00:00:00 2001 From: AWS SDK For Ruby Date: Tue, 18 Jun 2024 18:19:04 +0000 Subject: [PATCH 1/3] Updated API models and rebuilt service gems. --- apis/bedrock-runtime/2023-09-30/api-2.json | 332 ++++++++++- apis/bedrock-runtime/2023-09-30/docs-2.json | 296 ++++++++- apis/cloudtrail/2013-11-01/api-2.json | 3 +- apis/cloudtrail/2013-11-01/smoke-2.json | 16 + apis/config/2014-11-12/api-2.json | 4 +- apis/config/2014-11-12/smoke-2.json | 16 + apis/eks/2017-11-01/api-2.json | 33 +- apis/eks/2017-11-01/docs-2.json | 26 + apis/lightsail/2016-11-28/api-2.json | 3 +- apis/lightsail/2016-11-28/smoke-2.json | 16 + apis/polly/2016-06-10/api-2.json | 4 +- apis/polly/2016-06-10/smoke-2.json | 16 + apis/rekognition/2016-06-27/api-2.json | 4 +- apis/rekognition/2016-06-27/smoke-2.json | 16 + apis/sagemaker/2017-07-24/api-2.json | 360 ++++++++++- apis/sagemaker/2017-07-24/docs-2.json | 242 +++++++- apis/sagemaker/2017-07-24/paginators-1.json | 6 + apis/shield/2016-06-02/api-2.json | 4 +- .../2016-06-02/endpoint-rule-set-1.json | 40 +- apis/shield/2016-06-02/smoke-2.json | 16 + apis/snowball/2016-06-30/api-2.json | 4 +- apis/snowball/2016-06-30/smoke-2.json | 16 + gems/aws-sdk-bedrockruntime/CHANGELOG.md | 5 + gems/aws-sdk-bedrockruntime/VERSION | 2 +- .../lib/aws-sdk-bedrockruntime.rb | 2 +- .../lib/aws-sdk-bedrockruntime/client.rb | 213 ++++++- .../lib/aws-sdk-bedrockruntime/client_api.rb | 151 +++++ .../lib/aws-sdk-bedrockruntime/types.rb | 521 ++++++++++++++-- gems/aws-sdk-bedrockruntime/sig/client.rbs | 38 +- gems/aws-sdk-bedrockruntime/sig/types.rbs | 134 ++++- gems/aws-sdk-cloudtrail/CHANGELOG.md | 5 + gems/aws-sdk-cloudtrail/VERSION | 2 +- .../aws-sdk-cloudtrail/features/smoke.feature | 20 + .../lib/aws-sdk-cloudtrail.rb | 2 +- .../lib/aws-sdk-cloudtrail/client.rb | 2 +- .../lib/aws-sdk-cloudtrail/client_api.rb | 1 + gems/aws-sdk-configservice/CHANGELOG.md | 5 + gems/aws-sdk-configservice/VERSION | 2 +- .../features/smoke.feature | 20 + .../lib/aws-sdk-configservice.rb | 2 +- .../lib/aws-sdk-configservice/client.rb | 2 +- .../lib/aws-sdk-configservice/client_api.rb | 2 + gems/aws-sdk-eks/CHANGELOG.md | 5 + gems/aws-sdk-eks/VERSION | 2 +- gems/aws-sdk-eks/lib/aws-sdk-eks.rb | 2 +- gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb | 17 +- .../aws-sdk-eks/lib/aws-sdk-eks/client_api.rb | 16 + gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb | 47 +- gems/aws-sdk-eks/sig/types.rbs | 13 + gems/aws-sdk-lightsail/CHANGELOG.md | 5 + gems/aws-sdk-lightsail/VERSION | 2 +- gems/aws-sdk-lightsail/features/smoke.feature | 20 + .../lib/aws-sdk-lightsail.rb | 2 +- .../lib/aws-sdk-lightsail/client.rb | 2 +- .../lib/aws-sdk-lightsail/client_api.rb | 1 + gems/aws-sdk-polly/CHANGELOG.md | 5 + gems/aws-sdk-polly/VERSION | 2 +- gems/aws-sdk-polly/features/smoke.feature | 20 + gems/aws-sdk-polly/lib/aws-sdk-polly.rb | 2 +- .../aws-sdk-polly/lib/aws-sdk-polly/client.rb | 2 +- .../lib/aws-sdk-polly/client_api.rb | 2 + gems/aws-sdk-rekognition/CHANGELOG.md | 5 + gems/aws-sdk-rekognition/VERSION | 2 +- .../features/smoke.feature | 20 + .../lib/aws-sdk-rekognition.rb | 2 +- .../lib/aws-sdk-rekognition/client.rb | 2 +- .../lib/aws-sdk-rekognition/client_api.rb | 2 + 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 | 459 +++++++++++++- .../lib/aws-sdk-sagemaker/client_api.rb | 220 +++++++ .../lib/aws-sdk-sagemaker/endpoints.rb | 112 ++++ .../aws-sdk-sagemaker/plugins/endpoints.rb | 16 + .../lib/aws-sdk-sagemaker/types.rb | 560 +++++++++++++++++- gems/aws-sdk-sagemaker/sig/client.rbs | 138 ++++- gems/aws-sdk-sagemaker/sig/types.rbs | 145 +++++ gems/aws-sdk-shield/CHANGELOG.md | 5 + gems/aws-sdk-shield/VERSION | 2 +- gems/aws-sdk-shield/features/smoke.feature | 20 + gems/aws-sdk-shield/lib/aws-sdk-shield.rb | 2 +- .../lib/aws-sdk-shield/client.rb | 2 +- .../lib/aws-sdk-shield/client_api.rb | 2 + .../lib/aws-sdk-shield/endpoint_provider.rb | 2 +- gems/aws-sdk-snowball/CHANGELOG.md | 5 + gems/aws-sdk-snowball/VERSION | 2 +- gems/aws-sdk-snowball/features/smoke.feature | 20 + gems/aws-sdk-snowball/lib/aws-sdk-snowball.rb | 2 +- .../lib/aws-sdk-snowball/client.rb | 2 +- .../lib/aws-sdk-snowball/client_api.rb | 2 + 90 files changed, 4347 insertions(+), 184 deletions(-) create mode 100644 apis/cloudtrail/2013-11-01/smoke-2.json create mode 100644 apis/config/2014-11-12/smoke-2.json create mode 100644 apis/lightsail/2016-11-28/smoke-2.json create mode 100644 apis/polly/2016-06-10/smoke-2.json create mode 100644 apis/rekognition/2016-06-27/smoke-2.json create mode 100644 apis/shield/2016-06-02/smoke-2.json create mode 100644 apis/snowball/2016-06-30/smoke-2.json create mode 100644 gems/aws-sdk-cloudtrail/features/smoke.feature create mode 100644 gems/aws-sdk-configservice/features/smoke.feature create mode 100644 gems/aws-sdk-lightsail/features/smoke.feature create mode 100644 gems/aws-sdk-polly/features/smoke.feature create mode 100644 gems/aws-sdk-rekognition/features/smoke.feature create mode 100644 gems/aws-sdk-shield/features/smoke.feature create mode 100644 gems/aws-sdk-snowball/features/smoke.feature diff --git a/apis/bedrock-runtime/2023-09-30/api-2.json b/apis/bedrock-runtime/2023-09-30/api-2.json index c7a30812841..cdb7e088b52 100644 --- a/apis/bedrock-runtime/2023-09-30/api-2.json +++ b/apis/bedrock-runtime/2023-09-30/api-2.json @@ -130,7 +130,8 @@ "text":{"shape":"String"}, "image":{"shape":"ImageBlock"}, "toolUse":{"shape":"ToolUseBlock"}, - "toolResult":{"shape":"ToolResultBlock"} + "toolResult":{"shape":"ToolResultBlock"}, + "guardContent":{"shape":"GuardrailConverseContentBlock"} }, "union":true }, @@ -228,6 +229,7 @@ "system":{"shape":"SystemContentBlocks"}, "inferenceConfig":{"shape":"InferenceConfiguration"}, "toolConfig":{"shape":"ToolConfiguration"}, + "guardrailConfig":{"shape":"GuardrailConfiguration"}, "additionalModelRequestFields":{"shape":"Document"}, "additionalModelResponseFieldPaths":{"shape":"ConverseRequestAdditionalModelResponseFieldPathsList"} } @@ -256,7 +258,8 @@ "stopReason":{"shape":"StopReason"}, "usage":{"shape":"TokenUsage"}, "metrics":{"shape":"ConverseMetrics"}, - "additionalModelResponseFields":{"shape":"Document"} + "additionalModelResponseFields":{"shape":"Document"}, + "trace":{"shape":"ConverseTrace"} } }, "ConverseStreamMetadataEvent":{ @@ -267,7 +270,8 @@ ], "members":{ "usage":{"shape":"TokenUsage"}, - "metrics":{"shape":"ConverseStreamMetrics"} + "metrics":{"shape":"ConverseStreamMetrics"}, + "trace":{"shape":"ConverseStreamTrace"} }, "event":true }, @@ -310,6 +314,7 @@ "system":{"shape":"SystemContentBlocks"}, "inferenceConfig":{"shape":"InferenceConfiguration"}, "toolConfig":{"shape":"ToolConfiguration"}, + "guardrailConfig":{"shape":"GuardrailStreamConfiguration"}, "additionalModelRequestFields":{"shape":"Document"}, "additionalModelResponseFieldPaths":{"shape":"ConverseStreamRequestAdditionalModelResponseFieldPathsList"} } @@ -332,22 +337,335 @@ }, "payload":"stream" }, + "ConverseStreamTrace":{ + "type":"structure", + "members":{ + "guardrail":{"shape":"GuardrailTraceAssessment"} + } + }, + "ConverseTrace":{ + "type":"structure", + "members":{ + "guardrail":{"shape":"GuardrailTraceAssessment"} + } + }, "Document":{ "type":"structure", "members":{ }, "document":true }, + "GuardrailAssessment":{ + "type":"structure", + "members":{ + "topicPolicy":{"shape":"GuardrailTopicPolicyAssessment"}, + "contentPolicy":{"shape":"GuardrailContentPolicyAssessment"}, + "wordPolicy":{"shape":"GuardrailWordPolicyAssessment"}, + "sensitiveInformationPolicy":{"shape":"GuardrailSensitiveInformationPolicyAssessment"} + } + }, + "GuardrailAssessmentList":{ + "type":"list", + "member":{"shape":"GuardrailAssessment"} + }, + "GuardrailAssessmentListMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"GuardrailAssessmentList"} + }, + "GuardrailAssessmentMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"GuardrailAssessment"} + }, + "GuardrailConfiguration":{ + "type":"structure", + "required":[ + "guardrailIdentifier", + "guardrailVersion" + ], + "members":{ + "guardrailIdentifier":{"shape":"GuardrailIdentifier"}, + "guardrailVersion":{"shape":"GuardrailVersion"}, + "trace":{"shape":"GuardrailTrace"} + } + }, + "GuardrailContentFilter":{ + "type":"structure", + "required":[ + "type", + "confidence", + "action" + ], + "members":{ + "type":{"shape":"GuardrailContentFilterType"}, + "confidence":{"shape":"GuardrailContentFilterConfidence"}, + "action":{"shape":"GuardrailContentPolicyAction"} + } + }, + "GuardrailContentFilterConfidence":{ + "type":"string", + "enum":[ + "NONE", + "LOW", + "MEDIUM", + "HIGH" + ] + }, + "GuardrailContentFilterList":{ + "type":"list", + "member":{"shape":"GuardrailContentFilter"} + }, + "GuardrailContentFilterType":{ + "type":"string", + "enum":[ + "INSULTS", + "HATE", + "SEXUAL", + "VIOLENCE", + "MISCONDUCT", + "PROMPT_ATTACK" + ] + }, + "GuardrailContentPolicyAction":{ + "type":"string", + "enum":["BLOCKED"] + }, + "GuardrailContentPolicyAssessment":{ + "type":"structure", + "required":["filters"], + "members":{ + "filters":{"shape":"GuardrailContentFilterList"} + } + }, + "GuardrailConverseContentBlock":{ + "type":"structure", + "members":{ + "text":{"shape":"GuardrailConverseTextBlock"} + }, + "union":true + }, + "GuardrailConverseTextBlock":{ + "type":"structure", + "required":["text"], + "members":{ + "text":{"shape":"String"} + } + }, + "GuardrailCustomWord":{ + "type":"structure", + "required":[ + "match", + "action" + ], + "members":{ + "match":{"shape":"String"}, + "action":{"shape":"GuardrailWordPolicyAction"} + } + }, + "GuardrailCustomWordList":{ + "type":"list", + "member":{"shape":"GuardrailCustomWord"} + }, "GuardrailIdentifier":{ "type":"string", "max":2048, "min":0, "pattern":"(([a-z0-9]+)|(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+))" }, + "GuardrailManagedWord":{ + "type":"structure", + "required":[ + "match", + "type", + "action" + ], + "members":{ + "match":{"shape":"String"}, + "type":{"shape":"GuardrailManagedWordType"}, + "action":{"shape":"GuardrailWordPolicyAction"} + } + }, + "GuardrailManagedWordList":{ + "type":"list", + "member":{"shape":"GuardrailManagedWord"} + }, + "GuardrailManagedWordType":{ + "type":"string", + "enum":["PROFANITY"] + }, + "GuardrailOutputText":{"type":"string"}, + "GuardrailPiiEntityFilter":{ + "type":"structure", + "required":[ + "match", + "type", + "action" + ], + "members":{ + "match":{"shape":"String"}, + "type":{"shape":"GuardrailPiiEntityType"}, + "action":{"shape":"GuardrailSensitiveInformationPolicyAction"} + } + }, + "GuardrailPiiEntityFilterList":{ + "type":"list", + "member":{"shape":"GuardrailPiiEntityFilter"} + }, + "GuardrailPiiEntityType":{ + "type":"string", + "enum":[ + "ADDRESS", + "AGE", + "AWS_ACCESS_KEY", + "AWS_SECRET_KEY", + "CA_HEALTH_NUMBER", + "CA_SOCIAL_INSURANCE_NUMBER", + "CREDIT_DEBIT_CARD_CVV", + "CREDIT_DEBIT_CARD_EXPIRY", + "CREDIT_DEBIT_CARD_NUMBER", + "DRIVER_ID", + "EMAIL", + "INTERNATIONAL_BANK_ACCOUNT_NUMBER", + "IP_ADDRESS", + "LICENSE_PLATE", + "MAC_ADDRESS", + "NAME", + "PASSWORD", + "PHONE", + "PIN", + "SWIFT_CODE", + "UK_NATIONAL_HEALTH_SERVICE_NUMBER", + "UK_NATIONAL_INSURANCE_NUMBER", + "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", + "URL", + "USERNAME", + "US_BANK_ACCOUNT_NUMBER", + "US_BANK_ROUTING_NUMBER", + "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", + "US_PASSPORT_NUMBER", + "US_SOCIAL_SECURITY_NUMBER", + "VEHICLE_IDENTIFICATION_NUMBER" + ] + }, + "GuardrailRegexFilter":{ + "type":"structure", + "required":["action"], + "members":{ + "name":{"shape":"String"}, + "match":{"shape":"String"}, + "regex":{"shape":"String"}, + "action":{"shape":"GuardrailSensitiveInformationPolicyAction"} + } + }, + "GuardrailRegexFilterList":{ + "type":"list", + "member":{"shape":"GuardrailRegexFilter"} + }, + "GuardrailSensitiveInformationPolicyAction":{ + "type":"string", + "enum":[ + "ANONYMIZED", + "BLOCKED" + ] + }, + "GuardrailSensitiveInformationPolicyAssessment":{ + "type":"structure", + "required":[ + "piiEntities", + "regexes" + ], + "members":{ + "piiEntities":{"shape":"GuardrailPiiEntityFilterList"}, + "regexes":{"shape":"GuardrailRegexFilterList"} + } + }, + "GuardrailStreamConfiguration":{ + "type":"structure", + "required":[ + "guardrailIdentifier", + "guardrailVersion" + ], + "members":{ + "guardrailIdentifier":{"shape":"GuardrailIdentifier"}, + "guardrailVersion":{"shape":"GuardrailVersion"}, + "trace":{"shape":"GuardrailTrace"}, + "streamProcessingMode":{"shape":"GuardrailStreamProcessingMode"} + } + }, + "GuardrailStreamProcessingMode":{ + "type":"string", + "enum":[ + "sync", + "async" + ] + }, + "GuardrailTopic":{ + "type":"structure", + "required":[ + "name", + "type", + "action" + ], + "members":{ + "name":{"shape":"String"}, + "type":{"shape":"GuardrailTopicType"}, + "action":{"shape":"GuardrailTopicPolicyAction"} + } + }, + "GuardrailTopicList":{ + "type":"list", + "member":{"shape":"GuardrailTopic"} + }, + "GuardrailTopicPolicyAction":{ + "type":"string", + "enum":["BLOCKED"] + }, + "GuardrailTopicPolicyAssessment":{ + "type":"structure", + "required":["topics"], + "members":{ + "topics":{"shape":"GuardrailTopicList"} + } + }, + "GuardrailTopicType":{ + "type":"string", + "enum":["DENY"] + }, + "GuardrailTrace":{ + "type":"string", + "enum":[ + "enabled", + "disabled" + ] + }, + "GuardrailTraceAssessment":{ + "type":"structure", + "members":{ + "modelOutput":{"shape":"ModelOutputs"}, + "inputAssessment":{"shape":"GuardrailAssessmentMap"}, + "outputAssessments":{"shape":"GuardrailAssessmentListMap"} + } + }, "GuardrailVersion":{ "type":"string", "pattern":"(([1-9][0-9]{0,7})|(DRAFT))" }, + "GuardrailWordPolicyAction":{ + "type":"string", + "enum":["BLOCKED"] + }, + "GuardrailWordPolicyAssessment":{ + "type":"structure", + "required":[ + "customWords", + "managedWordLists" + ], + "members":{ + "customWords":{"shape":"GuardrailCustomWordList"}, + "managedWordLists":{"shape":"GuardrailManagedWordList"} + } + }, "ImageBlock":{ "type":"structure", "required":[ @@ -601,6 +919,10 @@ }, "exception":true }, + "ModelOutputs":{ + "type":"list", + "member":{"shape":"GuardrailOutputText"} + }, "ModelStreamErrorException":{ "type":"structure", "members":{ @@ -706,6 +1028,7 @@ "tool_use", "max_tokens", "stop_sequence", + "guardrail_intervened", "content_filtered" ] }, @@ -713,7 +1036,8 @@ "SystemContentBlock":{ "type":"structure", "members":{ - "text":{"shape":"NonEmptyString"} + "text":{"shape":"NonEmptyString"}, + "guardContent":{"shape":"GuardrailConverseContentBlock"} }, "union":true }, diff --git a/apis/bedrock-runtime/2023-09-30/docs-2.json b/apis/bedrock-runtime/2023-09-30/docs-2.json index 00387f85cfc..f01324e69ec 100644 --- a/apis/bedrock-runtime/2023-09-30/docs-2.json +++ b/apis/bedrock-runtime/2023-09-30/docs-2.json @@ -2,8 +2,8 @@ "version": "2.0", "service": "

Describes the API operations for running inference using Amazon Bedrock models.

", "operations": { - "Converse": "

Sends messages to the specified Amazon Bedrock model. Converse provides a consistent interface that works with all models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model. For more information, see Run inference in the Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModel action.

", - "ConverseStream": "

Sends messages to the specified Amazon Bedrock model and returns the response in a stream. ConverseStream provides a consistent API that works with all Amazon Bedrock models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model. For more information, see Run inference in the Bedrock User Guide.

To find out if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

For example code, see Invoke model with streaming code example in the Amazon Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

", + "Converse": "

Sends messages to the specified Amazon Bedrock model. Converse provides a consistent interface that works with all models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model.

For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

For example code, see Converse API examples in the Amazon Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModel action.

", + "ConverseStream": "

Sends messages to the specified Amazon Bedrock model and returns the response in a stream. ConverseStream provides a consistent API that works with all Amazon Bedrock models that support messages. This allows you to write code once and use it with different models. Should a model have unique inference parameters, you can also pass those unique parameters to the model.

To find out if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

For information about the Converse API, see Use the Converse API in the Amazon Bedrock User Guide. To use a guardrail, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide. To use a tool with a model, see Tool use (Function calling) in the Amazon Bedrock User Guide

For example code, see Conversation streaming example in the Amazon Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModelWithResponseStream action.

", "InvokeModel": "

Invokes the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. You use model inference to generate text, images, and embeddings.

For example code, see Invoke model code examples in the Amazon Bedrock User Guide.

This operation requires permission for the bedrock:InvokeModel action.

", "InvokeModelWithResponseStream": "

Invoke the specified Amazon Bedrock model to run inference using the prompt and inference parameters provided in the request body. The response is returned in a stream.

To see if a model supports streaming, call GetFoundationModel and check the responseStreamingSupported field in the response.

The CLI doesn't support InvokeModelWithResponseStream.

For example code, see Invoke model with streaming code example in the Amazon Bedrock User Guide.

This operation requires permissions to perform the bedrock:InvokeModelWithResponseStream action.

" }, @@ -14,27 +14,27 @@ } }, "AnyToolChoice": { - "base": "

The model must request at least one tool (no text is generated).

", + "base": "

The model must request at least one tool (no text is generated). For example, {\"any\" : {}}.

", "refs": { "ToolChoice$any": "

The model must request at least one tool (no text is generated).

" } }, "AutoToolChoice": { - "base": "

The Model automatically decides if a tool should be called or to whether to generate text instead.

", + "base": "

The Model automatically decides if a tool should be called or whether to generate text instead. For example, {\"auto\" : {}}.

", "refs": { - "ToolChoice$auto": "

The Model automatically decides if a tool should be called or to whether to generate text instead.

" + "ToolChoice$auto": "

(Default). The Model automatically decides if a tool should be called or whether to generate text instead.

" } }, "Body": { "base": null, "refs": { - "InvokeModelRequest$body": "

The prompt and inference parameters in the format specified in the contentType in the header. To see the format and content of the request and response bodies for different models, refer to Inference parameters. For more information, see Run inference in the Bedrock User Guide.

", + "InvokeModelRequest$body": "

The prompt and inference parameters in the format specified in the contentType in the header. You must provide the body in JSON format. To see the format and content of the request and response bodies for different models, refer to Inference parameters. For more information, see Run inference in the Bedrock User Guide.

", "InvokeModelResponse$body": "

Inference response from the model in the format specified in the contentType header. To see the format and content of the request and response bodies for different models, refer to Inference parameters.

", - "InvokeModelWithResponseStreamRequest$body": "

The prompt and inference parameters in the format specified in the contentType in the header. To see the format and content of the request and response bodies for different models, refer to Inference parameters. For more information, see Run inference in the Bedrock User Guide.

" + "InvokeModelWithResponseStreamRequest$body": "

The prompt and inference parameters in the format specified in the contentType in the header. You must provide the body in JSON format. To see the format and content of the request and response bodies for different models, refer to Inference parameters. For more information, see Run inference in the Bedrock User Guide.

" } }, "ContentBlock": { - "base": "

A block of content for a message.

", + "base": "

A block of content for a message that you pass to, or receive from, a model with the Converse API (Converse and ConverseStream).

", "refs": { "ContentBlocks$member": null } @@ -109,7 +109,7 @@ "ConverseRequestAdditionalModelResponseFieldPathsList": { "base": null, "refs": { - "ConverseRequest$additionalModelResponseFieldPaths": "

Additional model parameters field paths to return in the response. Converse returns the requested fields as a JSON Pointer object in the additionalModelResultFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ \"/stop_sequence\" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

Converse rejects an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by Converse.

" + "ConverseRequest$additionalModelResponseFieldPaths": "

Additional model parameters field paths to return in the response. Converse returns the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ \"/stop_sequence\" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

Converse rejects an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by Converse.

" } }, "ConverseRequestAdditionalModelResponseFieldPathsListMemberString": { @@ -149,7 +149,7 @@ "ConverseStreamRequestAdditionalModelResponseFieldPathsList": { "base": null, "refs": { - "ConverseStreamRequest$additionalModelResponseFieldPaths": "

Additional model parameters field paths to return in the response. ConverseStream returns the requested fields as a JSON Pointer object in the additionalModelResultFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ \"/stop_sequence\" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

ConverseStream rejects an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by ConverseStream.

" + "ConverseStreamRequest$additionalModelResponseFieldPaths": "

Additional model parameters field paths to return in the response. ConverseStream returns the requested fields as a JSON Pointer object in the additionalModelResponseFields field. The following is example JSON for additionalModelResponseFieldPaths.

[ \"/stop_sequence\" ]

For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation.

ConverseStream rejects an empty JSON Pointer or incorrectly structured JSON Pointer with a 400 error code. if the JSON Pointer is valid, but the requested field is not in the model response, it is ignored by ConverseStream.

" } }, "ConverseStreamRequestAdditionalModelResponseFieldPathsListMemberString": { @@ -163,6 +163,18 @@ "refs": { } }, + "ConverseStreamTrace": { + "base": "

The trace object in a response from ConverseStream. Currently, you can only trace guardrails.

", + "refs": { + "ConverseStreamMetadataEvent$trace": "

The trace object in the response from ConverseStream that contains information about the guardrail behavior.

" + } + }, + "ConverseTrace": { + "base": "

The trace object in a response from Converse. Currently, you can only trace guardrails.

", + "refs": { + "ConverseResponse$trace": "

A trace object that contains information about the Guardrail behavior.

" + } + }, "Document": { "base": null, "refs": { @@ -175,20 +187,252 @@ "ToolUseBlock$input": "

The input to pass to the tool.

" } }, + "GuardrailAssessment": { + "base": "

A behavior assessment of the guardrail policies used in a call to the Converse API.

", + "refs": { + "GuardrailAssessmentList$member": null, + "GuardrailAssessmentMap$value": null + } + }, + "GuardrailAssessmentList": { + "base": null, + "refs": { + "GuardrailAssessmentListMap$value": null + } + }, + "GuardrailAssessmentListMap": { + "base": null, + "refs": { + "GuardrailTraceAssessment$outputAssessments": "

the output assessments.

" + } + }, + "GuardrailAssessmentMap": { + "base": null, + "refs": { + "GuardrailTraceAssessment$inputAssessment": "

The input assessment.

" + } + }, + "GuardrailConfiguration": { + "base": "

Configuration information for a guardrail that you use with the Converse action.

", + "refs": { + "ConverseRequest$guardrailConfig": "

Configuration information for a guardrail that you want to use in the request.

" + } + }, + "GuardrailContentFilter": { + "base": "

The content filter for a guardrail.

", + "refs": { + "GuardrailContentFilterList$member": null + } + }, + "GuardrailContentFilterConfidence": { + "base": null, + "refs": { + "GuardrailContentFilter$confidence": "

The guardrail confidence.

" + } + }, + "GuardrailContentFilterList": { + "base": null, + "refs": { + "GuardrailContentPolicyAssessment$filters": "

The content policy filters.

" + } + }, + "GuardrailContentFilterType": { + "base": null, + "refs": { + "GuardrailContentFilter$type": "

The guardrail type.

" + } + }, + "GuardrailContentPolicyAction": { + "base": null, + "refs": { + "GuardrailContentFilter$action": "

The guardrail action.

" + } + }, + "GuardrailContentPolicyAssessment": { + "base": "

An assessment of a content policy for a guardrail.

", + "refs": { + "GuardrailAssessment$contentPolicy": "

The content policy.

" + } + }, + "GuardrailConverseContentBlock": { + "base": "

A content block for selective guarding with the Converse API (Converse and ConverseStream).

", + "refs": { + "ContentBlock$guardContent": "

Contains the content to assess with the guardrail. If you don't specify guardContent in a call to the Converse API, the guardrail (if passed in the Converse API) assesses the entire message.

For more information, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide.

 </p> 
", + "SystemContentBlock$guardContent": "

A content block to assess with the guardrail. Use with the Converse API (Converse and ConverseStream).

For more information, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide.

" + } + }, + "GuardrailConverseTextBlock": { + "base": "

A text block that contains text that you want to assess with a guardrail. For more information, see GuardrailConverseContentBlock.

", + "refs": { + "GuardrailConverseContentBlock$text": "

The text to guard.

" + } + }, + "GuardrailCustomWord": { + "base": "

A custom word configured in a guardrail.

", + "refs": { + "GuardrailCustomWordList$member": null + } + }, + "GuardrailCustomWordList": { + "base": null, + "refs": { + "GuardrailWordPolicyAssessment$customWords": "

Custom words in the assessment.

" + } + }, "GuardrailIdentifier": { "base": null, "refs": { + "GuardrailConfiguration$guardrailIdentifier": "

The identifier for the guardrail.

", + "GuardrailStreamConfiguration$guardrailIdentifier": "

The identifier for the guardrail.

", "InvokeModelRequest$guardrailIdentifier": "

The unique identifier of the guardrail that you want to use. If you don't provide a value, no guardrail is applied to the invocation.

An error will be thrown in the following situations.

", "InvokeModelWithResponseStreamRequest$guardrailIdentifier": "

The unique identifier of the guardrail that you want to use. If you don't provide a value, no guardrail is applied to the invocation.

An error is thrown in the following situations.

" } }, + "GuardrailManagedWord": { + "base": "

A managed word configured in a guardrail.

", + "refs": { + "GuardrailManagedWordList$member": null + } + }, + "GuardrailManagedWordList": { + "base": null, + "refs": { + "GuardrailWordPolicyAssessment$managedWordLists": "

Managed word lists in the assessment.

" + } + }, + "GuardrailManagedWordType": { + "base": null, + "refs": { + "GuardrailManagedWord$type": "

The type for the managed word.

" + } + }, + "GuardrailOutputText": { + "base": null, + "refs": { + "ModelOutputs$member": null + } + }, + "GuardrailPiiEntityFilter": { + "base": "

A Personally Identifiable Information (PII) entity configured in a guardrail.

", + "refs": { + "GuardrailPiiEntityFilterList$member": null + } + }, + "GuardrailPiiEntityFilterList": { + "base": null, + "refs": { + "GuardrailSensitiveInformationPolicyAssessment$piiEntities": "

The PII entities in the assessment.

" + } + }, + "GuardrailPiiEntityType": { + "base": null, + "refs": { + "GuardrailPiiEntityFilter$type": "

The PII entity filter type.

" + } + }, + "GuardrailRegexFilter": { + "base": "

A Regex filter configured in a guardrail.

", + "refs": { + "GuardrailRegexFilterList$member": null + } + }, + "GuardrailRegexFilterList": { + "base": null, + "refs": { + "GuardrailSensitiveInformationPolicyAssessment$regexes": "

The regex queries in the assessment.

" + } + }, + "GuardrailSensitiveInformationPolicyAction": { + "base": null, + "refs": { + "GuardrailPiiEntityFilter$action": "

The PII entity filter action.

", + "GuardrailRegexFilter$action": "

The region filter action.

" + } + }, + "GuardrailSensitiveInformationPolicyAssessment": { + "base": "

The assessment for aPersonally Identifiable Information (PII) policy.

", + "refs": { + "GuardrailAssessment$sensitiveInformationPolicy": "

The sensitive information policy.

" + } + }, + "GuardrailStreamConfiguration": { + "base": "

Configuration information for a guardrail that you use with the ConverseStream action.

", + "refs": { + "ConverseStreamRequest$guardrailConfig": "

Configuration information for a guardrail that you want to use in the request.

" + } + }, + "GuardrailStreamProcessingMode": { + "base": null, + "refs": { + "GuardrailStreamConfiguration$streamProcessingMode": "

The processing mode.

The processing mode. For more information, see Configure streaming response behavior in the Amazon Bedrock User Guide.

" + } + }, + "GuardrailTopic": { + "base": "

Information about a topic guardrail.

", + "refs": { + "GuardrailTopicList$member": null + } + }, + "GuardrailTopicList": { + "base": null, + "refs": { + "GuardrailTopicPolicyAssessment$topics": "

The topics in the assessment.

" + } + }, + "GuardrailTopicPolicyAction": { + "base": null, + "refs": { + "GuardrailTopic$action": "

The action the guardrail should take when it intervenes on a topic.

" + } + }, + "GuardrailTopicPolicyAssessment": { + "base": "

A behavior assessment of a topic policy.

", + "refs": { + "GuardrailAssessment$topicPolicy": "

The topic policy.

" + } + }, + "GuardrailTopicType": { + "base": null, + "refs": { + "GuardrailTopic$type": "

The type behavior that the guardrail should perform when the model detects the topic.

" + } + }, + "GuardrailTrace": { + "base": null, + "refs": { + "GuardrailConfiguration$trace": "

The trace behavior for the guardrail.

", + "GuardrailStreamConfiguration$trace": "

The trace behavior for the guardrail.

" + } + }, + "GuardrailTraceAssessment": { + "base": "

A Top level guardrail trace object. For more information, see ConverseTrace.

", + "refs": { + "ConverseStreamTrace$guardrail": "

The guardrail trace object.

", + "ConverseTrace$guardrail": "

The guardrail trace object.

" + } + }, "GuardrailVersion": { "base": null, "refs": { + "GuardrailConfiguration$guardrailVersion": "

The version of the guardrail.

", + "GuardrailStreamConfiguration$guardrailVersion": "

The version of the guardrail.

", "InvokeModelRequest$guardrailVersion": "

The version number for the guardrail. The value can also be DRAFT.

", "InvokeModelWithResponseStreamRequest$guardrailVersion": "

The version number for the guardrail. The value can also be DRAFT.

" } }, + "GuardrailWordPolicyAction": { + "base": null, + "refs": { + "GuardrailCustomWord$action": "

The action for the custom word.

", + "GuardrailManagedWord$action": "

The action for the managed word.

" + } + }, + "GuardrailWordPolicyAssessment": { + "base": "

The word policy assessment.

", + "refs": { + "GuardrailAssessment$wordPolicy": "

The word policy.

" + } + }, "ImageBlock": { "base": "

Image content for a message.

", "refs": { @@ -224,7 +468,7 @@ "InferenceConfigurationMaxTokensInteger": { "base": null, "refs": { - "InferenceConfiguration$maxTokens": "

The maximum number of tokens to allow in the generated response. The default value is the maximum allowed value for the model that you are using. For more information, see Inference parameters for foundatio{ \"messages\": [ { \"role\": \"user\", \"content\": [ { \"text\": \"what's the weather in Queens, NY and Austin, TX?\" } ] }, { \"role\": \"assistant\", \"content\": [ { \"toolUse\": { \"toolUseId\": \"1\", \"name\": \"get_weather\", \"input\": { \"city\": \"Queens\", \"state\": \"NY\" } } }, { \"toolUse\": { \"toolUseId\": \"2\", \"name\": \"get_weather\", \"input\": { \"city\": \"Austin\", \"state\": \"TX\" } } } ] }, { \"role\": \"user\", \"content\": [ { \"toolResult\": { \"toolUseId\": \"2\", \"content\": [ { \"json\": { \"weather\": \"40\" } } ] } }, { \"text\": \"...\" }, { \"toolResult\": { \"toolUseId\": \"1\", \"content\": [ { \"text\": \"result text\" } ] } } ] } ], \"toolConfig\": { \"tools\": [ { \"name\": \"get_weather\", \"description\": \"Get weather\", \"inputSchema\": { \"type\": \"object\", \"properties\": { \"city\": { \"type\": \"string\", \"description\": \"City of location\" }, \"state\": { \"type\": \"string\", \"description\": \"State of location\" } }, \"required\": [\"city\", \"state\"] } } ] } } n models.

" + "InferenceConfiguration$maxTokens": "

The maximum number of tokens to allow in the generated response. The default value is the maximum allowed value for the model that you are using. For more information, see Inference parameters for foundation models.

" } }, "InferenceConfigurationStopSequencesList": { @@ -287,7 +531,7 @@ } }, "Message": { - "base": "

A message in the Message field. Use to send a message in a call to Converse.

", + "base": "

A message input, or returned from, a call to Converse or ConverseStream.

", "refs": { "ConverseOutput$message": "

The message that the model generates.

", "Messages$member": null @@ -315,10 +559,10 @@ "MimeType": { "base": null, "refs": { - "InvokeModelRequest$contentType": "

The MIME type of the input data in the request. The default value is application/json.

", + "InvokeModelRequest$contentType": "

The MIME type of the input data in the request. You must specify application/json.

", "InvokeModelRequest$accept": "

The desired MIME type of the inference body in the response. The default value is application/json.

", "InvokeModelResponse$contentType": "

The MIME type of the inference result.

", - "InvokeModelWithResponseStreamRequest$contentType": "

The MIME type of the input data in the request. The default value is application/json.

", + "InvokeModelWithResponseStreamRequest$contentType": "

The MIME type of the input data in the request. You must specify application/json.

", "InvokeModelWithResponseStreamRequest$accept": "

The desired MIME type of the inference body in the response. The default value is application/json.

", "InvokeModelWithResponseStreamResponse$contentType": "

The MIME type of the inference result.

" } @@ -333,6 +577,12 @@ "refs": { } }, + "ModelOutputs": { + "base": null, + "refs": { + "GuardrailTraceAssessment$modelOutput": "

The output from the model.

" + } + }, "ModelStreamErrorException": { "base": "

An error occurred while streaming the response. Retry your request.

", "refs": { @@ -408,9 +658,9 @@ } }, "SpecificToolChoice": { - "base": "

The model must request a specific tool.

This field is only supported by Anthropic Claude 3 models.

", + "base": "

The model must request a specific tool. For example, {\"tool\" : {\"name\" : \"Your tool name\"}}.

This field is only supported by Anthropic Claude 3 models.

", "refs": { - "ToolChoice$tool": "

The Model must request the specified tool.

" + "ToolChoice$tool": "

The Model must request the specified tool. Only supported by Anthropic Claude 3 models.

" } }, "StatusCode": { @@ -432,12 +682,22 @@ "refs": { "ContentBlock$text": "

Text to include in the message.

", "ContentBlockDelta$text": "

The content text.

", + "GuardrailAssessmentListMap$key": null, + "GuardrailAssessmentMap$key": null, + "GuardrailConverseTextBlock$text": "

The text that you want to guard.

", + "GuardrailCustomWord$match": "

The match for the custom word.

", + "GuardrailManagedWord$match": "

The match for the managed word.

", + "GuardrailPiiEntityFilter$match": "

The PII entity filter match.

", + "GuardrailRegexFilter$name": "

The regex filter name.

", + "GuardrailRegexFilter$match": "

The regesx filter match.

", + "GuardrailRegexFilter$regex": "

The regex query.

", + "GuardrailTopic$name": "

The name for the guardrail.

", "ToolResultContentBlock$text": "

A tool result that is text.

", "ToolUseBlockDelta$input": "

The input for a requested tool.

" } }, "SystemContentBlock": { - "base": "

A system content block

", + "base": "

A system content block.

", "refs": { "SystemContentBlocks$member": null } @@ -488,7 +748,7 @@ } }, "ToolChoice": { - "base": "

Forces a model to use a tool.

", + "base": "

Determines which tools the model should request in a call to Converse or ConverseStream. ToolChoice is only supported by Anthropic Claude 3 models and by Mistral AI Mistral Large.

", "refs": { "ToolConfiguration$toolChoice": "

If supported by model, forces the model to request a tool.

" } diff --git a/apis/cloudtrail/2013-11-01/api-2.json b/apis/cloudtrail/2013-11-01/api-2.json index 528ee2d782e..124b6fa1c56 100644 --- a/apis/cloudtrail/2013-11-01/api-2.json +++ b/apis/cloudtrail/2013-11-01/api-2.json @@ -11,7 +11,8 @@ "serviceId":"CloudTrail", "signatureVersion":"v4", "targetPrefix":"com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101", - "uid":"cloudtrail-2013-11-01" + "uid":"cloudtrail-2013-11-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddTags":{ diff --git a/apis/cloudtrail/2013-11-01/smoke-2.json b/apis/cloudtrail/2013-11-01/smoke-2.json new file mode 100644 index 00000000000..f139ccbf244 --- /dev/null +++ b/apis/cloudtrail/2013-11-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeTrailsSuccess", + "operationName": "DescribeTrails", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/config/2014-11-12/api-2.json b/apis/config/2014-11-12/api-2.json index 3ad2dc13ec0..5101f4114a4 100644 --- a/apis/config/2014-11-12/api-2.json +++ b/apis/config/2014-11-12/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"config", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Config Service", "serviceFullName":"AWS Config", "serviceId":"Config Service", "signatureVersion":"v4", "targetPrefix":"StarlingDoveService", - "uid":"config-2014-11-12" + "uid":"config-2014-11-12", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchGetAggregateResourceConfig":{ diff --git a/apis/config/2014-11-12/smoke-2.json b/apis/config/2014-11-12/smoke-2.json new file mode 100644 index 00000000000..972dd1570af --- /dev/null +++ b/apis/config/2014-11-12/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeConfigurationRecordersSuccess", + "operationName": "DescribeConfigurationRecorders", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/eks/2017-11-01/api-2.json b/apis/eks/2017-11-01/api-2.json index 63332c76c4f..3f765214679 100644 --- a/apis/eks/2017-11-01/api-2.json +++ b/apis/eks/2017-11-01/api-2.json @@ -11,7 +11,8 @@ "serviceId":"EKS", "signatureVersion":"v4", "signingName":"eks", - "uid":"eks-2017-11-01" + "uid":"eks-2017-11-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateAccessPolicy":{ @@ -2321,9 +2322,37 @@ "subnets":{"shape":"StringList"}, "selectors":{"shape":"FargateProfileSelectors"}, "status":{"shape":"FargateProfileStatus"}, - "tags":{"shape":"TagMap"} + "tags":{"shape":"TagMap"}, + "health":{"shape":"FargateProfileHealth"} + } + }, + "FargateProfileHealth":{ + "type":"structure", + "members":{ + "issues":{"shape":"FargateProfileIssueList"} + } + }, + "FargateProfileIssue":{ + "type":"structure", + "members":{ + "code":{"shape":"FargateProfileIssueCode"}, + "message":{"shape":"String"}, + "resourceIds":{"shape":"StringList"} } }, + "FargateProfileIssueCode":{ + "type":"string", + "enum":[ + "PodExecutionRoleAlreadyInUse", + "AccessDenied", + "ClusterUnreachable", + "InternalFailure" + ] + }, + "FargateProfileIssueList":{ + "type":"list", + "member":{"shape":"FargateProfileIssue"} + }, "FargateProfileLabel":{ "type":"map", "key":{"shape":"String"}, diff --git a/apis/eks/2017-11-01/docs-2.json b/apis/eks/2017-11-01/docs-2.json index f7931c5e401..63f0e645d2d 100644 --- a/apis/eks/2017-11-01/docs-2.json +++ b/apis/eks/2017-11-01/docs-2.json @@ -857,6 +857,30 @@ "DescribeFargateProfileResponse$fargateProfile": "

The full description of your Fargate profile.

" } }, + "FargateProfileHealth": { + "base": "

The health status of the Fargate profile. If there are issues with your Fargate profile's health, they are listed here.

", + "refs": { + "FargateProfile$health": "

The health status of the Fargate profile. If there are issues with your Fargate profile's health, they are listed here.

" + } + }, + "FargateProfileIssue": { + "base": "

An issue that is associated with the Fargate profile.

", + "refs": { + "FargateProfileIssueList$member": null + } + }, + "FargateProfileIssueCode": { + "base": null, + "refs": { + "FargateProfileIssue$code": "

A brief description of the error.

" + } + }, + "FargateProfileIssueList": { + "base": null, + "refs": { + "FargateProfileHealth$issues": "

Any issues that are associated with the Fargate profile.

" + } + }, "FargateProfileLabel": { "base": null, "refs": { @@ -1608,6 +1632,7 @@ "FargateProfile$fargateProfileArn": "

The full Amazon Resource Name (ARN) of the Fargate profile.

", "FargateProfile$clusterName": "

The name of your cluster.

", "FargateProfile$podExecutionRoleArn": "

The Amazon Resource Name (ARN) of the Pod execution role to use for any Pod that matches the selectors in the Fargate profile. For more information, see Pod execution role in the Amazon EKS User Guide.

", + "FargateProfileIssue$message": "

The error message associated with the issue.

", "FargateProfileLabel$key": null, "FargateProfileLabel$value": null, "FargateProfileSelector$namespace": "

The Kubernetes namespace that the selector should match.

", @@ -1813,6 +1838,7 @@ "EncryptionConfig$resources": "

Specifies the resources to be encrypted. The only supported value is secrets.

", "ErrorDetail$resourceIds": "

An optional field that contains the resource IDs associated with the error.

", "FargateProfile$subnets": "

The IDs of subnets to launch a Pod into.

", + "FargateProfileIssue$resourceIds": "

The Amazon Web Services resources that are affected by this issue.

", "InsightsFilter$kubernetesVersions": "

The Kubernetes versions to use to filter the insights.

", "Issue$resourceIds": "

The Amazon Web Services resources that are afflicted by this issue.

", "ListAccessEntriesResponse$accessEntries": "

The list of access entries that exist for the cluster.

", diff --git a/apis/lightsail/2016-11-28/api-2.json b/apis/lightsail/2016-11-28/api-2.json index cedf1594465..764ecbf072a 100644 --- a/apis/lightsail/2016-11-28/api-2.json +++ b/apis/lightsail/2016-11-28/api-2.json @@ -10,7 +10,8 @@ "serviceId":"Lightsail", "signatureVersion":"v4", "targetPrefix":"Lightsail_20161128", - "uid":"lightsail-2016-11-28" + "uid":"lightsail-2016-11-28", + "auth":["aws.auth#sigv4"] }, "operations":{ "AllocateStaticIp":{ diff --git a/apis/lightsail/2016-11-28/smoke-2.json b/apis/lightsail/2016-11-28/smoke-2.json new file mode 100644 index 00000000000..912bfc061d1 --- /dev/null +++ b/apis/lightsail/2016-11-28/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "GetActiveNamesSuccess", + "operationName": "GetActiveNames", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/polly/2016-06-10/api-2.json b/apis/polly/2016-06-10/api-2.json index df64b077020..4f50e9566b5 100644 --- a/apis/polly/2016-06-10/api-2.json +++ b/apis/polly/2016-06-10/api-2.json @@ -4,10 +4,12 @@ "apiVersion":"2016-06-10", "endpointPrefix":"polly", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon Polly", "serviceId":"Polly", "signatureVersion":"v4", - "uid":"polly-2016-06-10" + "uid":"polly-2016-06-10", + "auth":["aws.auth#sigv4"] }, "operations":{ "DeleteLexicon":{ diff --git a/apis/polly/2016-06-10/smoke-2.json b/apis/polly/2016-06-10/smoke-2.json new file mode 100644 index 00000000000..4e081736510 --- /dev/null +++ b/apis/polly/2016-06-10/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeVoicesSuccess", + "operationName": "DescribeVoices", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/rekognition/2016-06-27/api-2.json b/apis/rekognition/2016-06-27/api-2.json index c426ba6bdd7..38a2bec8402 100644 --- a/apis/rekognition/2016-06-27/api-2.json +++ b/apis/rekognition/2016-06-27/api-2.json @@ -5,11 +5,13 @@ "endpointPrefix":"rekognition", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"Amazon Rekognition", "serviceId":"Rekognition", "signatureVersion":"v4", "targetPrefix":"RekognitionService", - "uid":"rekognition-2016-06-27" + "uid":"rekognition-2016-06-27", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateFaces":{ diff --git a/apis/rekognition/2016-06-27/smoke-2.json b/apis/rekognition/2016-06-27/smoke-2.json new file mode 100644 index 00000000000..de75dadfd71 --- /dev/null +++ b/apis/rekognition/2016-06-27/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListCollectionsSuccess", + "operationName": "ListCollections", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/sagemaker/2017-07-24/api-2.json b/apis/sagemaker/2017-07-24/api-2.json index 43e2f5b3e16..9995ac066c0 100644 --- a/apis/sagemaker/2017-07-24/api-2.json +++ b/apis/sagemaker/2017-07-24/api-2.json @@ -442,6 +442,18 @@ {"shape":"ResourceLimitExceeded"} ] }, + "CreateMlflowTrackingServer":{ + "name":"CreateMlflowTrackingServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMlflowTrackingServerRequest"}, + "output":{"shape":"CreateMlflowTrackingServerResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ] + }, "CreateModel":{ "name":"CreateModel", "http":{ @@ -608,6 +620,18 @@ {"shape":"ResourceNotFound"} ] }, + "CreatePresignedMlflowTrackingServerUrl":{ + "name":"CreatePresignedMlflowTrackingServerUrl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePresignedMlflowTrackingServerUrlRequest"}, + "output":{"shape":"CreatePresignedMlflowTrackingServerUrlResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "CreatePresignedNotebookInstanceUrl":{ "name":"CreatePresignedNotebookInstanceUrl", "http":{ @@ -1069,6 +1093,18 @@ {"shape":"ResourceNotFound"} ] }, + "DeleteMlflowTrackingServer":{ + "name":"DeleteMlflowTrackingServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMlflowTrackingServerRequest"}, + "output":{"shape":"DeleteMlflowTrackingServerResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "DeleteModel":{ "name":"DeleteModel", "http":{ @@ -1706,6 +1742,18 @@ {"shape":"ResourceNotFound"} ] }, + "DescribeMlflowTrackingServer":{ + "name":"DescribeMlflowTrackingServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMlflowTrackingServerRequest"}, + "output":{"shape":"DescribeMlflowTrackingServerResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "DescribeModel":{ "name":"DescribeModel", "http":{ @@ -2483,6 +2531,15 @@ "input":{"shape":"ListLineageGroupsRequest"}, "output":{"shape":"ListLineageGroupsResponse"} }, + "ListMlflowTrackingServers":{ + "name":"ListMlflowTrackingServers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMlflowTrackingServersRequest"}, + "output":{"shape":"ListMlflowTrackingServersResponse"} + }, "ListModelBiasJobDefinitions":{ "name":"ListModelBiasJobDefinitions", "http":{ @@ -2956,6 +3013,19 @@ {"shape":"ResourceNotFound"} ] }, + "StartMlflowTrackingServer":{ + "name":"StartMlflowTrackingServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMlflowTrackingServerRequest"}, + "output":{"shape":"StartMlflowTrackingServerResponse"}, + "errors":[ + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"} + ] + }, "StartMonitoringSchedule":{ "name":"StartMonitoringSchedule", "http":{ @@ -3076,6 +3146,19 @@ {"shape":"ResourceNotFound"} ] }, + "StopMlflowTrackingServer":{ + "name":"StopMlflowTrackingServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopMlflowTrackingServerRequest"}, + "output":{"shape":"StopMlflowTrackingServerResponse"}, + "errors":[ + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"} + ] + }, "StopMonitoringSchedule":{ "name":"StopMonitoringSchedule", "http":{ @@ -3400,6 +3483,20 @@ {"shape":"ResourceNotFound"} ] }, + "UpdateMlflowTrackingServer":{ + "name":"UpdateMlflowTrackingServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMlflowTrackingServerRequest"}, + "output":{"shape":"UpdateMlflowTrackingServerResponse"}, + "errors":[ + {"shape":"ResourceNotFound"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"ConflictException"} + ] + }, "UpdateModelCard":{ "name":"UpdateModelCard", "http":{ @@ -5672,6 +5769,18 @@ "type":"string", "pattern":"^[a-z]{3}\\d-az\\d$" }, + "ClusterEbsVolumeConfig":{ + "type":"structure", + "required":["VolumeSizeInGB"], + "members":{ + "VolumeSizeInGB":{"shape":"ClusterEbsVolumeSizeInGB"} + } + }, + "ClusterEbsVolumeSizeInGB":{ + "type":"integer", + "max":16384, + "min":1 + }, "ClusterInstanceCount":{ "type":"integer", "min":1 @@ -5685,7 +5794,8 @@ "InstanceType":{"shape":"ClusterInstanceType"}, "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, "ExecutionRole":{"shape":"RoleArn"}, - "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"} + "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"}, + "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"} } }, "ClusterInstanceGroupDetailsList":{ @@ -5713,7 +5823,8 @@ "InstanceType":{"shape":"ClusterInstanceType"}, "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, "ExecutionRole":{"shape":"RoleArn"}, - "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"} + "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"}, + "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"} } }, "ClusterInstanceGroupSpecifications":{ @@ -5747,6 +5858,18 @@ "Message":{"shape":"String"} } }, + "ClusterInstanceStorageConfig":{ + "type":"structure", + "members":{ + "EbsVolumeConfig":{"shape":"ClusterEbsVolumeConfig"} + }, + "union":true + }, + "ClusterInstanceStorageConfigs":{ + "type":"list", + "member":{"shape":"ClusterInstanceStorageConfig"}, + "max":1 + }, "ClusterInstanceType":{ "type":"string", "enum":[ @@ -5828,6 +5951,7 @@ "LaunchTime":{"shape":"Timestamp"}, "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"}, + "InstanceStorageConfigs":{"shape":"ClusterInstanceStorageConfigs"}, "PrivatePrimaryIp":{"shape":"ClusterPrivatePrimaryIp"}, "PrivateDnsHostname":{"shape":"ClusterPrivateDnsHostname"}, "Placement":{"shape":"ClusterInstancePlacement"} @@ -5837,7 +5961,7 @@ "type":"string", "max":256, "min":1, - "pattern":"^[a-zA-Z][-a-zA-Z0-9]*$" + "pattern":"^i-[a-f0-9]{8}(?:[a-f0-9]{9})?$" }, "ClusterNodeSummaries":{ "type":"list", @@ -7082,6 +7206,30 @@ "LabelingJobArn":{"shape":"LabelingJobArn"} } }, + "CreateMlflowTrackingServerRequest":{ + "type":"structure", + "required":[ + "TrackingServerName", + "ArtifactStoreUri", + "RoleArn" + ], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"}, + "ArtifactStoreUri":{"shape":"S3Uri"}, + "TrackingServerSize":{"shape":"TrackingServerSize"}, + "MlflowVersion":{"shape":"MlflowVersion"}, + "RoleArn":{"shape":"RoleArn"}, + "AutomaticModelRegistration":{"shape":"Boolean"}, + "WeeklyMaintenanceWindowStart":{"shape":"WeeklyMaintenanceWindowStart"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateMlflowTrackingServerResponse":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"} + } + }, "CreateModelBiasJobDefinitionRequest":{ "type":"structure", "required":[ @@ -7404,6 +7552,21 @@ "AuthorizedUrl":{"shape":"PresignedDomainUrl"} } }, + "CreatePresignedMlflowTrackingServerUrlRequest":{ + "type":"structure", + "required":["TrackingServerName"], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"}, + "ExpiresInSeconds":{"shape":"ExpiresInSeconds"}, + "SessionExpirationDurationInSeconds":{"shape":"SessionExpirationDurationInSeconds"} + } + }, + "CreatePresignedMlflowTrackingServerUrlResponse":{ + "type":"structure", + "members":{ + "AuthorizedUrl":{"shape":"TrackingServerUrl"} + } + }, "CreatePresignedNotebookInstanceUrlInput":{ "type":"structure", "required":["NotebookInstanceName"], @@ -8322,6 +8485,19 @@ "InferenceExperimentArn":{"shape":"InferenceExperimentArn"} } }, + "DeleteMlflowTrackingServerRequest":{ + "type":"structure", + "required":["TrackingServerName"], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"} + } + }, + "DeleteMlflowTrackingServerResponse":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"} + } + }, "DeleteModelBiasJobDefinitionRequest":{ "type":"structure", "required":["JobDefinitionName"], @@ -9703,6 +9879,33 @@ "LastModifiedBy":{"shape":"UserContext"} } }, + "DescribeMlflowTrackingServerRequest":{ + "type":"structure", + "required":["TrackingServerName"], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"} + } + }, + "DescribeMlflowTrackingServerResponse":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"}, + "TrackingServerName":{"shape":"TrackingServerName"}, + "ArtifactStoreUri":{"shape":"S3Uri"}, + "TrackingServerSize":{"shape":"TrackingServerSize"}, + "MlflowVersion":{"shape":"MlflowVersion"}, + "RoleArn":{"shape":"RoleArn"}, + "TrackingServerStatus":{"shape":"TrackingServerStatus"}, + "IsActive":{"shape":"IsTrackingServerActive"}, + "TrackingServerUrl":{"shape":"TrackingServerUrl"}, + "WeeklyMaintenanceWindowStart":{"shape":"WeeklyMaintenanceWindowStart"}, + "AutomaticModelRegistration":{"shape":"Boolean"}, + "CreationTime":{"shape":"Timestamp"}, + "CreatedBy":{"shape":"UserContext"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "LastModifiedBy":{"shape":"UserContext"} + } + }, "DescribeModelBiasJobDefinitionRequest":{ "type":"structure", "required":["JobDefinitionName"], @@ -13738,6 +13941,13 @@ "type":"string", "pattern":"^arn:aws[a-z\\-]*:iam::\\d{12}:rolealias/?[a-zA-Z_0-9+=,.@\\-_/]+$" }, + "IsTrackingServerActive":{ + "type":"string", + "enum":[ + "Active", + "Inactive" + ] + }, "ItemIdentifierAttributeName":{ "type":"string", "max":256, @@ -15053,6 +15263,26 @@ "type":"integer", "max":100 }, + "ListMlflowTrackingServersRequest":{ + "type":"structure", + "members":{ + "CreatedAfter":{"shape":"Timestamp"}, + "CreatedBefore":{"shape":"Timestamp"}, + "TrackingServerStatus":{"shape":"TrackingServerStatus"}, + "MlflowVersion":{"shape":"MlflowVersion"}, + "SortBy":{"shape":"SortTrackingServerBy"}, + "SortOrder":{"shape":"SortOrder"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} + } + }, + "ListMlflowTrackingServersResponse":{ + "type":"structure", + "members":{ + "TrackingServerSummaries":{"shape":"TrackingServerSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListModelBiasJobDefinitionsRequest":{ "type":"structure", "members":{ @@ -16068,6 +16298,11 @@ "max":1, "pattern":"1|2" }, + "MlflowVersion":{ + "type":"string", + "max":16, + "pattern":"^[0-9]*.[0-9]*.[0-9]*" + }, "Model":{ "type":"structure", "members":{ @@ -20566,6 +20801,14 @@ "CreationTime" ] }, + "SortTrackingServerBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, "SortTrialComponentsBy":{ "type":"string", "enum":[ @@ -20781,6 +21024,19 @@ "InferenceExperimentArn":{"shape":"InferenceExperimentArn"} } }, + "StartMlflowTrackingServerRequest":{ + "type":"structure", + "required":["TrackingServerName"], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"} + } + }, + "StartMlflowTrackingServerResponse":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"} + } + }, "StartMonitoringScheduleRequest":{ "type":"structure", "required":["MonitoringScheduleName"], @@ -20938,6 +21194,19 @@ "LabelingJobName":{"shape":"LabelingJobName"} } }, + "StopMlflowTrackingServerRequest":{ + "type":"structure", + "required":["TrackingServerName"], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"} + } + }, + "StopMlflowTrackingServerResponse":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"} + } + }, "StopMonitoringScheduleRequest":{ "type":"structure", "required":["MonitoringScheduleName"], @@ -21518,6 +21787,69 @@ "max":256, "min":1 }, + "TrackingServerArn":{ + "type":"string", + "max":2048, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:mlflow-tracking-server/.*" + }, + "TrackingServerName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,255}" + }, + "TrackingServerSize":{ + "type":"string", + "enum":[ + "Small", + "Medium", + "Large" + ] + }, + "TrackingServerStatus":{ + "type":"string", + "enum":[ + "Creating", + "Created", + "CreateFailed", + "Updating", + "Updated", + "UpdateFailed", + "Deleting", + "DeleteFailed", + "Stopping", + "Stopped", + "StopFailed", + "Starting", + "Started", + "StartFailed", + "MaintenanceInProgress", + "MaintenanceComplete", + "MaintenanceFailed" + ] + }, + "TrackingServerSummary":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"}, + "TrackingServerName":{"shape":"TrackingServerName"}, + "CreationTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "TrackingServerStatus":{"shape":"TrackingServerStatus"}, + "IsActive":{"shape":"IsTrackingServerActive"}, + "MlflowVersion":{"shape":"MlflowVersion"} + } + }, + "TrackingServerSummaryList":{ + "type":"list", + "member":{"shape":"TrackingServerSummary"}, + "max":100, + "min":0 + }, + "TrackingServerUrl":{ + "type":"string", + "max":2048 + }, "TrafficDurationInSeconds":{ "type":"integer", "min":1 @@ -22799,6 +23131,23 @@ "InferenceExperimentArn":{"shape":"InferenceExperimentArn"} } }, + "UpdateMlflowTrackingServerRequest":{ + "type":"structure", + "required":["TrackingServerName"], + "members":{ + "TrackingServerName":{"shape":"TrackingServerName"}, + "ArtifactStoreUri":{"shape":"S3Uri"}, + "TrackingServerSize":{"shape":"TrackingServerSize"}, + "AutomaticModelRegistration":{"shape":"Boolean"}, + "WeeklyMaintenanceWindowStart":{"shape":"WeeklyMaintenanceWindowStart"} + } + }, + "UpdateMlflowTrackingServerResponse":{ + "type":"structure", + "members":{ + "TrackingServerArn":{"shape":"TrackingServerArn"} + } + }, "UpdateModelCardRequest":{ "type":"structure", "required":["ModelCardName"], @@ -23356,6 +23705,11 @@ "ReusedByJob":{"shape":"TrainingJobName"} } }, + "WeeklyMaintenanceWindowStart":{ + "type":"string", + "max":9, + "pattern":"(Mon|Tue|Wed|Thu|Fri|Sat|Sun):([01]\\d|2[0-3]):([0-5]\\d)" + }, "WorkerAccessConfiguration":{ "type":"structure", "members":{ diff --git a/apis/sagemaker/2017-07-24/docs-2.json b/apis/sagemaker/2017-07-24/docs-2.json index 4de981d343b..171f05e2d04 100644 --- a/apis/sagemaker/2017-07-24/docs-2.json +++ b/apis/sagemaker/2017-07-24/docs-2.json @@ -37,6 +37,7 @@ "CreateInferenceExperiment": "

Creates an inference experiment using the configurations specified in the request.

Use this API to setup and schedule an experiment to compare model variants on a Amazon SageMaker inference endpoint. For more information about inference experiments, see Shadow tests.

Amazon SageMaker begins your experiment at the scheduled time and routes traffic to your endpoint's model variants based on your specified configuration.

While the experiment is in progress or after it has concluded, you can view metrics that compare your model variants. For more information, see View, monitor, and edit shadow tests.

", "CreateInferenceRecommendationsJob": "

Starts a recommendation job. You can create either an instance recommendation or load test job.

", "CreateLabelingJob": "

Creates a job that uses workers to label the data objects in your input dataset. You can use the labeled data to train machine learning models.

You can select your workforce from one of three providers:

You can also use automated data labeling to reduce the number of data objects that need to be labeled by a human. Automated data labeling uses active learning to determine if a data object can be labeled by machine or if it needs to be sent to a human worker. For more information, see Using Automated Data Labeling.

The data objects to be labeled are contained in an Amazon S3 bucket. You create a manifest file that describes the location of each object. For more information, see Using Input and Output Data.

The output can be used as the manifest file for another labeling job or as training data for your machine learning models.

You can use this operation to create a static labeling job or a streaming labeling job. A static labeling job stops if all data objects in the input manifest file identified in ManifestS3Uri have been labeled. A streaming labeling job runs perpetually until it is manually stopped, or remains idle for 10 days. You can send new data objects to an active (InProgress) streaming labeling job in real time. To learn how to create a static labeling job, see Create a Labeling Job (API) in the Amazon SageMaker Developer Guide. To learn how to create a streaming labeling job, see Create a Streaming Labeling Job.

", + "CreateMlflowTrackingServer": "

Creates an MLflow Tracking Server using a general purpose Amazon S3 bucket as the artifact store. For more information, see Create an MLflow Tracking Server.

", "CreateModel": "

Creates a model in SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.

Use this API to create a model if you want to use SageMaker hosting services or run a batch transform job.

To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

To run a batch transform using your model, you start a job with the CreateTransformJob API. SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

In the request, you also provide an IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other Amazon Web Services resources, you grant necessary permissions via this role.

", "CreateModelBiasJobDefinition": "

Creates the definition for a model bias job.

", "CreateModelCard": "

Creates an Amazon SageMaker Model Card.

For information about how to use model cards, see Amazon SageMaker Model Card.

", @@ -50,6 +51,7 @@ "CreateNotebookInstanceLifecycleConfig": "

Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View Amazon CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

", "CreatePipeline": "

Creates a pipeline using a JSON pipeline definition.

", "CreatePresignedDomainUrl": "

Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to the domain, and granted access to all of the Apps and files associated with the Domain's Amazon Elastic File System volume. This operation can only be called when the authentication mode equals IAM.

The IAM role or user passed to this API defines the permissions to access the app. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the app.

You can restrict access to this API and to the URL that it returns to a list of IP addresses, Amazon VPCs or Amazon VPC Endpoints that you specify. For more information, see Connect to Amazon SageMaker Studio Through an Interface VPC Endpoint .

The URL that you get from a call to CreatePresignedDomainUrl has a default timeout of 5 minutes. You can configure this value using ExpiresInSeconds. If you try to use the URL after the timeout limit expires, you are directed to the Amazon Web Services console sign-in page.

", + "CreatePresignedMlflowTrackingServerUrl": "

Returns a presigned URL that you can use to connect to the MLflow UI attached to your tracking server. For more information, see Launch the MLflow UI using a presigned URL.

", "CreatePresignedNotebookInstanceUrl": "

Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the SageMaker console, when you choose Open next to a notebook instance, SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page.

The IAM role or user used to call this API defines the permissions to access the notebook instance. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the notebook instance.

You can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see Limit Access to a Notebook Instance by IP Address.

The URL that you get from a call to CreatePresignedNotebookInstanceUrl is valid only for 5 minutes. If you try to use the URL after the 5-minute limit expires, you are directed to the Amazon Web Services console sign-in page.

", "CreateProcessingJob": "

Creates a processing job.

", "CreateProject": "

Creates a machine learning (ML) project that can contain one or more templates that set up an ML pipeline from training to deploying an approved model.

", @@ -90,6 +92,7 @@ "DeleteImageVersion": "

Deletes a version of a SageMaker image. The container image the version represents isn't deleted.

", "DeleteInferenceComponent": "

Deletes an inference component.

", "DeleteInferenceExperiment": "

Deletes an inference experiment.

This operation does not delete your endpoint, variants, or any underlying resources. This operation only deletes the metadata of your experiment.

", + "DeleteMlflowTrackingServer": "

Deletes an MLflow Tracking Server. For more information, see Clean up MLflow resources.

", "DeleteModel": "

Deletes a model. The DeleteModel API deletes only the model entry that was created in SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.

", "DeleteModelBiasJobDefinition": "

Deletes an Amazon SageMaker model bias job definition.

", "DeleteModelCard": "

Deletes an Amazon SageMaker Model Card.

", @@ -109,7 +112,7 @@ "DeleteTrial": "

Deletes the specified trial. All trial components that make up the trial must be deleted first. Use the DescribeTrialComponent API to get the list of trial components.

", "DeleteTrialComponent": "

Deletes the specified trial component. A trial component must be disassociated from all trials before the trial component can be deleted. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.

", "DeleteUserProfile": "

Deletes a user profile. When a user profile is deleted, the user loses access to their EFS volume, including data, notebooks, and other artifacts.

", - "DeleteWorkforce": "

Use this operation to delete a workforce.

If you want to create a new workforce in an Amazon Web Services Region where a workforce already exists, use this operation to delete the existing workforce and then use CreateWorkforce to create a new workforce.

If a private workforce contains one or more work teams, you must use the DeleteWorkteam operation to delete all work teams before you delete the workforce. If you try to delete a workforce that contains one or more work teams, you will recieve a ResourceInUse error.

", + "DeleteWorkforce": "

Use this operation to delete a workforce.

If you want to create a new workforce in an Amazon Web Services Region where a workforce already exists, use this operation to delete the existing workforce and then use CreateWorkforce to create a new workforce.

If a private workforce contains one or more work teams, you must use the DeleteWorkteam operation to delete all work teams before you delete the workforce. If you try to delete a workforce that contains one or more work teams, you will receive a ResourceInUse error.

", "DeleteWorkteam": "

Deletes an existing work team. This operation can't be undone.

", "DeregisterDevices": "

Deregisters the specified devices. After you deregister a device, you will need to re-register the devices.

", "DescribeAction": "

Describes an action.

", @@ -147,6 +150,7 @@ "DescribeInferenceRecommendationsJob": "

Provides the results of the Inference Recommender job. One or more recommendation jobs are returned.

", "DescribeLabelingJob": "

Gets information about a labeling job.

", "DescribeLineageGroup": "

Provides a list of properties for the requested lineage group. For more information, see Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

", + "DescribeMlflowTrackingServer": "

Returns information about an MLflow Tracking Server.

", "DescribeModel": "

Describes a model that you created using the CreateModel API.

", "DescribeModelBiasJobDefinition": "

Returns a description of a model bias job definition.

", "DescribeModelCard": "

Describes the content, creation time, and security configuration of an Amazon SageMaker Model Card.

", @@ -172,7 +176,7 @@ "DescribeTrialComponent": "

Provides a list of a trials component's properties.

", "DescribeUserProfile": "

Describes a user profile. For more information, see CreateUserProfile.

", "DescribeWorkforce": "

Lists private workforce information, including workforce name, Amazon Resource Name (ARN), and, if applicable, allowed IP address ranges (CIDRs). Allowable IP address ranges are the IP addresses that workers can use to access tasks.

This operation applies only to private workforces.

", - "DescribeWorkteam": "

Gets information about a specific work team. You can see information such as the create date, the last updated date, membership information, and the work team's Amazon Resource Name (ARN).

", + "DescribeWorkteam": "

Gets information about a specific work team. You can see information such as the creation date, the last updated date, membership information, and the work team's Amazon Resource Name (ARN).

", "DisableSagemakerServicecatalogPortfolio": "

Disables using Service Catalog in SageMaker. Service Catalog is used to create SageMaker projects.

", "DisassociateTrialComponent": "

Disassociates a trial component from a trial. This doesn't effect other trials the component is associated with. Before you can delete a component, you must disassociate the component from all trials it is associated with. To associate a trial component with a trial, call the AssociateTrialComponent API.

To get a list of the trials a component is associated with, use the Search API. Specify ExperimentTrialComponent for the Resource parameter. The list appears in the response under Results.TrialComponent.Parents.

", "EnableSagemakerServicecatalogPortfolio": "

Enables using Service Catalog in SageMaker. Service Catalog is used to create SageMaker projects.

", @@ -222,6 +226,7 @@ "ListLabelingJobs": "

Gets a list of labeling jobs.

", "ListLabelingJobsForWorkteam": "

Gets a list of labeling jobs assigned to a specified work team.

", "ListLineageGroups": "

A list of lineage groups shared with your Amazon Web Services account. For more information, see Cross-Account Lineage Tracking in the Amazon SageMaker Developer Guide.

", + "ListMlflowTrackingServers": "

Lists all MLflow Tracking Servers.

", "ListModelBiasJobDefinitions": "

Lists model bias jobs definitions that satisfy various filters.

", "ListModelCardExportJobs": "

List the export jobs for the Amazon SageMaker Model Card.

", "ListModelCardVersions": "

List existing versions of an Amazon SageMaker Model Card.

", @@ -268,6 +273,7 @@ "SendPipelineExecutionStepSuccess": "

Notifies the pipeline that the execution of a callback step succeeded and provides a list of the step's output parameters. When a callback step is run, the pipeline generates a callback token and includes the token in a message sent to Amazon Simple Queue Service (Amazon SQS).

", "StartEdgeDeploymentStage": "

Starts a stage in an edge deployment plan.

", "StartInferenceExperiment": "

Starts an inference experiment.

", + "StartMlflowTrackingServer": "

Programmatically start an MLflow Tracking Server.

", "StartMonitoringSchedule": "

Starts a previously stopped monitoring schedule.

By default, when you successfully create a new schedule, the status of a monitoring schedule is scheduled.

", "StartNotebookInstance": "

Launches an ML compute instance with the latest version of the libraries and attaches your ML storage volume. After configuring the notebook instance, SageMaker sets the notebook instance status to InService. A notebook instance's status must be InService before you can connect to your Jupyter notebook.

", "StartPipelineExecution": "

Starts a pipeline execution.

", @@ -279,6 +285,7 @@ "StopInferenceExperiment": "

Stops an inference experiment.

", "StopInferenceRecommendationsJob": "

Stops an Inference Recommender job.

", "StopLabelingJob": "

Stops a running labeling job. A job that is stopped cannot be restarted. Any results obtained before the job is stopped are placed in the Amazon S3 output bucket.

", + "StopMlflowTrackingServer": "

Programmatically stop an MLflow Tracking Server.

", "StopMonitoringSchedule": "

Stops a previously started monitoring schedule.

", "StopNotebookInstance": "

Terminates the ML compute instance. Before terminating the instance, SageMaker disconnects the ML storage volume from it. SageMaker preserves the ML storage volume. SageMaker stops charging you for the ML compute instance when you call StopNotebookInstance.

To access data on the ML storage volume for a notebook instance that has been terminated, call the StartNotebookInstance API. StartNotebookInstance launches another ML compute instance, configures it, and attaches the preserved ML storage volume so you can continue your work.

", "StopPipelineExecution": "

Stops a pipeline execution.

Callback Step

A pipeline execution won't stop while a callback step is running. When you call StopPipelineExecution on a pipeline execution with a running callback step, SageMaker Pipelines sends an additional Amazon SQS message to the specified SQS queue. The body of the SQS message contains a \"Status\" field which is set to \"Stopping\".

You should add logic to your Amazon SQS message consumer to take any needed action (for example, resource cleanup) upon receipt of the message followed by a call to SendPipelineExecutionStepSuccess or SendPipelineExecutionStepFailure.

Only when SageMaker Pipelines receives one of these calls will it stop the pipeline execution.

Lambda Step

A pipeline execution can't be stopped while a lambda step is running because the Lambda function invoked by the lambda step can't be stopped. If you attempt to stop the execution while the Lambda function is running, the pipeline waits for the Lambda function to finish or until the timeout is hit, whichever occurs first, and then stops. If the Lambda function finishes, the pipeline execution status is Stopped. If the timeout is hit the pipeline execution status is Failed.

", @@ -306,6 +313,7 @@ "UpdateInferenceComponent": "

Updates an inference component.

", "UpdateInferenceComponentRuntimeConfig": "

Runtime settings for a model that is deployed with an inference component.

", "UpdateInferenceExperiment": "

Updates an inference experiment that you created. The status of the inference experiment has to be either Created, Running. For more information on the status of an inference experiment, see DescribeInferenceExperiment.

", + "UpdateMlflowTrackingServer": "

Updates properties of an existing MLflow Tracking Server.

", "UpdateModelCard": "

Update an Amazon SageMaker Model Card.

You cannot update both model card content and model card status in a single call.

", "UpdateModelPackage": "

Updates a versioned model.

", "UpdateMonitoringAlert": "

Update the parameters of a model monitor alert.

", @@ -1492,11 +1500,13 @@ "ClarifyCheckStepMetadata$SkipCheck": "

This flag indicates if the drift check against the previous baseline will be skipped or not. If it is set to False, the previous baseline of the configured check type must be available.

", "ClarifyCheckStepMetadata$RegisterNewBaseline": "

This flag indicates if a newly calculated baseline can be accessed through step properties BaselineUsedForDriftCheckConstraints and BaselineUsedForDriftCheckStatistics. If it is set to False, the previous baseline of the configured check type must also be available. These can be accessed through the BaselineUsedForDriftCheckConstraints property.

", "CreateEndpointConfigInput$EnableNetworkIsolation": "

Sets whether all model containers deployed to the endpoint are isolated. If they are, no inbound or outbound network calls can be made to or from the model containers.

", + "CreateMlflowTrackingServerRequest$AutomaticModelRegistration": "

Whether to enable or disable automatic registration of new MLflow models to the SageMaker Model Registry. To enable automatic model registration, set this value to True. To disable automatic model registration, set this value to False. If not specified, AutomaticModelRegistration defaults to False.

", "CreateModelInput$EnableNetworkIsolation": "

Isolates the model container. No inbound or outbound network calls can be made to or from the model container.

", "CreateTrainingJobRequest$EnableNetworkIsolation": "

Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If you enable network isolation for training jobs that are configured to use a VPC, SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

", "CreateTrainingJobRequest$EnableInterContainerTrafficEncryption": "

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between ML Compute Instances in a Distributed Training Job.

", "CreateTrainingJobRequest$EnableManagedSpotTraining": "

To train models using managed spot training, choose True. Managed spot training provides a fully managed and scalable infrastructure for training machine learning models. this option is useful when training jobs can be interrupted and when there is flexibility when the training job is run.

The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed.

", "DescribeEndpointConfigOutput$EnableNetworkIsolation": "

Indicates whether all model containers deployed to the endpoint are isolated. If they are, no inbound or outbound network calls can be made to or from the model containers.

", + "DescribeMlflowTrackingServerResponse$AutomaticModelRegistration": "

Whether automatic registration of new MLflow models to the SageMaker Model Registry is enabled.

", "DescribeModelOutput$EnableNetworkIsolation": "

If True, no inbound or outbound network calls can be made to or from the model container.

", "DescribeTrainingJobResponse$EnableNetworkIsolation": "

If you want to allow inbound or outbound network calls, except for calls between peers within a training cluster for distributed training, choose True. If you enable network isolation for training jobs that are configured to use a VPC, SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

", "DescribeTrainingJobResponse$EnableInterContainerTrafficEncryption": "

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithms in distributed training.

", @@ -1525,7 +1535,8 @@ "TrainingJob$EnableManagedSpotTraining": "

When true, enables managed spot training using Amazon EC2 Spot instances to run training jobs instead of on-demand instances. For more information, see Managed Spot Training.

", "TrainingSpecification$SupportsDistributedTraining": "

Indicates whether the algorithm supports distributed training. If set to false, buyers can't request more than one instance during training.

", "UpdateEndpointInput$RetainAllVariantProperties": "

When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set RetainAllVariantProperties to true. To use the variant properties specified in a new EndpointConfig call when updating an endpoint, set RetainAllVariantProperties to false. The default is false.

", - "UpdateEndpointInput$RetainDeploymentConfig": "

Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).

" + "UpdateEndpointInput$RetainDeploymentConfig": "

Specifies whether to reuse the last deployment configuration. The default value is false (the configuration is not reused).

", + "UpdateMlflowTrackingServerRequest$AutomaticModelRegistration": "

Whether to enable or disable automatic registration of new MLflow models to the SageMaker Model Registry. To enable automatic model registration, set this value to True. To disable automatic model registration, set this value to False. If not specified, AutomaticModelRegistration defaults to False

" } }, "BooleanOperator": { @@ -2016,6 +2027,18 @@ "ClusterInstancePlacement$AvailabilityZoneId": "

The unique identifier (ID) of the Availability Zone where the node in the SageMaker HyperPod cluster is launched.

" } }, + "ClusterEbsVolumeConfig": { + "base": "

Defines the configuration for attaching an additional Amazon Elastic Block Store (EBS) volume to each instance of the SageMaker HyperPod cluster instance group.

", + "refs": { + "ClusterInstanceStorageConfig$EbsVolumeConfig": "

Defines the configuration for attaching additional Amazon Elastic Block Store (EBS) volumes to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.

" + } + }, + "ClusterEbsVolumeSizeInGB": { + "base": null, + "refs": { + "ClusterEbsVolumeConfig$VolumeSizeInGB": "

The size in gigabytes (GB) of the additional EBS volume to be attached to the instances in the SageMaker HyperPod cluster instance group. The additional EBS volume is attached to each instance within the SageMaker HyperPod cluster instance group and mounted to /opt/sagemaker.

" + } + }, "ClusterInstanceCount": { "base": null, "refs": { @@ -2077,6 +2100,20 @@ "ClusterNodeSummary$InstanceStatus": "

The status of the instance.

" } }, + "ClusterInstanceStorageConfig": { + "base": "

Defines the configuration for attaching additional storage to the instances in the SageMaker HyperPod cluster instance group.

", + "refs": { + "ClusterInstanceStorageConfigs$member": null + } + }, + "ClusterInstanceStorageConfigs": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$InstanceStorageConfigs": "

The additional storage configurations for the instances in the SageMaker HyperPod cluster instance group.

", + "ClusterInstanceGroupSpecification$InstanceStorageConfigs": "

Specifies the additional storage configurations for the instances in the SageMaker HyperPod cluster instance group.

", + "ClusterNodeDetails$InstanceStorageConfigs": "

The configurations of additional storage specified to the instance group where the instance (node) is launched.

" + } + }, "ClusterInstanceType": { "base": null, "refs": { @@ -2927,6 +2964,16 @@ "refs": { } }, + "CreateMlflowTrackingServerRequest": { + "base": null, + "refs": { + } + }, + "CreateMlflowTrackingServerResponse": { + "base": null, + "refs": { + } + }, "CreateModelBiasJobDefinitionRequest": { "base": null, "refs": { @@ -3057,6 +3104,16 @@ "refs": { } }, + "CreatePresignedMlflowTrackingServerUrlRequest": { + "base": null, + "refs": { + } + }, + "CreatePresignedMlflowTrackingServerUrlResponse": { + "base": null, + "refs": { + } + }, "CreatePresignedNotebookInstanceUrlInput": { "base": null, "refs": { @@ -3704,6 +3761,16 @@ "refs": { } }, + "DeleteMlflowTrackingServerRequest": { + "base": null, + "refs": { + } + }, + "DeleteMlflowTrackingServerResponse": { + "base": null, + "refs": { + } + }, "DeleteModelBiasJobDefinitionRequest": { "base": null, "refs": { @@ -4272,6 +4339,16 @@ "refs": { } }, + "DescribeMlflowTrackingServerRequest": { + "base": null, + "refs": { + } + }, + "DescribeMlflowTrackingServerResponse": { + "base": null, + "refs": { + } + }, "DescribeModelBiasJobDefinitionRequest": { "base": null, "refs": { @@ -5770,7 +5847,8 @@ "ExpiresInSeconds": { "base": null, "refs": { - "CreatePresignedDomainUrlRequest$ExpiresInSeconds": "

The number of seconds until the pre-signed URL expires. This value defaults to 300.

" + "CreatePresignedDomainUrlRequest$ExpiresInSeconds": "

The number of seconds until the pre-signed URL expires. This value defaults to 300.

", + "CreatePresignedMlflowTrackingServerUrlRequest$ExpiresInSeconds": "

The duration in seconds that your presigned URL is valid. The presigned URL can be used only once.

" } }, "Explainability": { @@ -7747,6 +7825,13 @@ "DescribeDeviceFleetResponse$IotRoleAlias": "

The Amazon Resource Name (ARN) alias created in Amazon Web Services Internet of Things (IoT).

" } }, + "IsTrackingServerActive": { + "base": null, + "refs": { + "DescribeMlflowTrackingServerResponse$IsActive": "

Whether the described MLflow Tracking Server is currently active.

", + "TrackingServerSummary$IsActive": "

The activity status of a listed tracking server.

" + } + }, "ItemIdentifierAttributeName": { "base": null, "refs": { @@ -8669,6 +8754,16 @@ "ListStageDevicesRequest$MaxResults": "

The maximum number of requests to select.

" } }, + "ListMlflowTrackingServersRequest": { + "base": null, + "refs": { + } + }, + "ListMlflowTrackingServersResponse": { + "base": null, + "refs": { + } + }, "ListModelBiasJobDefinitionsRequest": { "base": null, "refs": { @@ -9224,6 +9319,7 @@ "ListLabelingJobsForWorkteamRequest$MaxResults": "

The maximum number of labeling jobs to return in each page of the response.

", "ListLabelingJobsRequest$MaxResults": "

The maximum number of labeling jobs to return in each page of the response.

", "ListLineageGroupsRequest$MaxResults": "

The maximum number of endpoints to return in the response. This value defaults to 10.

", + "ListMlflowTrackingServersRequest$MaxResults": "

The maximum number of tracking servers to list.

", "ListModelBiasJobDefinitionsRequest$MaxResults": "

The maximum number of model bias jobs to return in the response. The default value is 10.

", "ListModelCardExportJobsRequest$MaxResults": "

The maximum number of model card export jobs to list.

", "ListModelCardVersionsRequest$MaxResults": "

The maximum number of model card versions to list.

", @@ -9439,6 +9535,15 @@ "InstanceMetadataServiceConfiguration$MinimumInstanceMetadataServiceVersion": "

Indicates the minimum IMDS version that the notebook instance supports. When passed as part of CreateNotebookInstance, if no value is selected, then it defaults to IMDSv1. This means that both IMDSv1 and IMDSv2 are supported. If passed as part of UpdateNotebookInstance, there is no default.

" } }, + "MlflowVersion": { + "base": null, + "refs": { + "CreateMlflowTrackingServerRequest$MlflowVersion": "

The version of MLflow that the tracking server uses. To see which MLflow versions are available to use, see How it works.

", + "DescribeMlflowTrackingServerResponse$MlflowVersion": "

The MLflow version used for the described tracking server.

", + "ListMlflowTrackingServersRequest$MlflowVersion": "

Filter for tracking servers using the specified MLflow version.

", + "TrackingServerSummary$MlflowVersion": "

The MLflow version used for a listed tracking server.

" + } + }, "Model": { "base": "

The properties of a model as returned by the Search API.

", "refs": { @@ -10852,6 +10957,8 @@ "ListLabelingJobsResponse$NextToken": "

If the response is truncated, SageMaker returns this token. To retrieve the next set of labeling jobs, use it in the subsequent request.

", "ListLineageGroupsRequest$NextToken": "

If the response is truncated, SageMaker returns this token. To retrieve the next set of algorithms, use it in the subsequent request.

", "ListLineageGroupsResponse$NextToken": "

If the response is truncated, SageMaker returns this token. To retrieve the next set of algorithms, use it in the subsequent request.

", + "ListMlflowTrackingServersRequest$NextToken": "

If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

", + "ListMlflowTrackingServersResponse$NextToken": "

If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

", "ListModelBiasJobDefinitionsRequest$NextToken": "

The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

", "ListModelBiasJobDefinitionsResponse$NextToken": "

The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

", "ListModelCardExportJobsRequest$NextToken": "

If the response to a previous ListModelCardExportJobs request was truncated, the response includes a NextToken. To retrieve the next set of model card export jobs, use the token in the next request.

", @@ -13023,6 +13130,7 @@ "CreateInferenceExperimentRequest$RoleArn": "

The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.

", "CreateInferenceRecommendationsJobRequest$RoleArn": "

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

", "CreateLabelingJobRequest$RoleArn": "

The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete data labeling.

", + "CreateMlflowTrackingServerRequest$RoleArn": "

The Amazon Resource Name (ARN) for an IAM role in your account that the MLflow Tracking Server uses to access the artifact store in Amazon S3. The role should have AmazonS3FullAccess permissions. For more information on IAM permissions for tracking server creation, see Set up IAM permissions for MLflow.

", "CreateModelBiasJobDefinitionRequest$RoleArn": "

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

", "CreateModelExplainabilityJobDefinitionRequest$RoleArn": "

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

", "CreateModelInput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see SageMaker Roles.

To be able to pass this role to SageMaker, the caller of this API must have the iam:PassRole permission.

", @@ -13045,6 +13153,7 @@ "DescribeInferenceExperimentResponse$RoleArn": "

The ARN of the IAM role that Amazon SageMaker can assume to access model artifacts and container images, and manage Amazon SageMaker Inference endpoints for model deployment.

", "DescribeInferenceRecommendationsJobResponse$RoleArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role you provided when you initiated the job.

", "DescribeLabelingJobResponse$RoleArn": "

The Amazon Resource Name (ARN) that SageMaker assumes to perform tasks on your behalf during data labeling.

", + "DescribeMlflowTrackingServerResponse$RoleArn": "

The Amazon Resource Name (ARN) for an IAM role in your account that the described MLflow Tracking Server uses to access the artifact store in Amazon S3.

", "DescribeModelBiasJobDefinitionResponse$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that has read permission to the input data location and write permission to the output data location in Amazon S3.

", "DescribeModelExplainabilityJobDefinitionResponse$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that has read permission to the input data location and write permission to the output data location in Amazon S3.

", "DescribeModelOutput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that you specified for the model.

", @@ -13188,6 +13297,7 @@ "CheckpointConfig$S3Uri": "

Identifies the S3 path where you want SageMaker to store checkpoints. For example, s3://bucket-name/key-name-prefix.

", "ClusterLifeCycleConfig$SourceS3Uri": "

An Amazon S3 bucket path where your lifecycle scripts are stored.

Make sure that the S3 bucket path starts with s3://sagemaker-. The IAM role for SageMaker HyperPod has the managed AmazonSageMakerClusterInstanceRolePolicy attached, which allows access to S3 buckets with the specific prefix sagemaker-.

", "CreateLabelingJobRequest$LabelCategoryConfigS3Uri": "

The S3 URI of the file, referred to as a label category configuration file, that defines the categories used to label the data objects.

For 3D point cloud and video frame task types, you can add label category attributes and frame attributes to your label category configuration file. To learn how, see Create a Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

For named entity recognition jobs, in addition to \"labels\", you must provide worker instructions in the label category configuration file using the \"instructions\" parameter: \"instructions\": {\"shortInstruction\":\"<h1>Add header</h1><p>Add Instructions</p>\", \"fullInstruction\":\"<p>Add additional instructions.</p>\"}. For details and an example, see Create a Named Entity Recognition Labeling Job (API) .

For all other built-in task types and custom tasks, your label category configuration file must be a JSON file in the following format. Identify the labels you want to use by replacing label_1, label_2,...,label_n with your label categories.

{

\"document-version\": \"2018-11-28\",

\"labels\": [{\"label\": \"label_1\"},{\"label\": \"label_2\"},...{\"label\": \"label_n\"}]

}

Note the following about the label category configuration file:

", + "CreateMlflowTrackingServerRequest$ArtifactStoreUri": "

The S3 URI for a general purpose bucket to use as the MLflow Tracking Server artifact store.

", "CreateModelPackageInput$SamplePayloadUrl": "

The Amazon Simple Storage Service (Amazon S3) path where the sample payload is stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). This archive can hold multiple files that are all equally used in the load test. Each file in the archive must satisfy the size constraints of the InvokeEndpoint call.

", "DataQualityAppSpecification$RecordPreprocessorSourceUri": "

An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

", "DataQualityAppSpecification$PostAnalyticsProcessorSourceUri": "

An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.

", @@ -13195,6 +13305,7 @@ "DebugRuleConfiguration$S3OutputPath": "

Path to Amazon S3 storage location for rules.

", "DescribeEdgePackagingJobResponse$ModelArtifact": "

The Amazon Simple Storage (S3) URI where model artifacts ares stored.

", "DescribeLabelingJobResponse$LabelCategoryConfigS3Uri": "

The S3 location of the JSON file that defines the categories used to label data objects. Please note the following label-category limits:

The file is a JSON structure in the following format:

{

\"document-version\": \"2018-11-28\"

\"labels\": [

{

\"label\": \"label 1\"

},

{

\"label\": \"label 2\"

},

...

{

\"label\": \"label n\"

}

]

}

", + "DescribeMlflowTrackingServerResponse$ArtifactStoreUri": "

The S3 URI of the general purpose bucket used as the MLflow Tracking Server artifact store.

", "EdgeOutputConfig$S3OutputLocation": "

The Amazon Simple Storage (S3) bucker URI.

", "FileSource$S3Uri": "

The Amazon S3 URI for the file source.

", "FlowDefinitionOutputConfig$S3OutputPath": "

The Amazon S3 path where the object containing human output will be made available.

To learn more about the format of Amazon A2I output data, see Amazon A2I Output Data.

", @@ -13235,6 +13346,7 @@ "TransformOutput$S3OutputPath": "

The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.

For every S3 object used as input for the transform job, batch transform stores the transformed data with an .out suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform stores the transformed data at s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .out file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.

", "TransformS3DataSource$S3Uri": "

Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

", "UiConfig$UiTemplateS3Uri": "

The Amazon S3 bucket location of the UI template, or worker task template. This is the template used to render the worker UI and tools for labeling job tasks. For more information about the contents of a UI template, see Creating Your Custom Labeling Task Template.

", + "UpdateMlflowTrackingServerRequest$ArtifactStoreUri": "

The new S3 URI for the general purpose bucket to use as the artifact store for the MLflow Tracking Server.

", "WorkspaceSettings$S3ArtifactPath": "

The Amazon S3 bucket used to store artifacts generated by Canvas. Updating the Amazon S3 location impacts existing configuration settings, and Canvas users no longer have access to their artifacts. Canvas users must log out and log back in to apply the new location.

" } }, @@ -13532,6 +13644,7 @@ "base": null, "refs": { "CreatePresignedDomainUrlRequest$SessionExpirationDurationInSeconds": "

The session expiration duration in seconds. This value defaults to 43200.

", + "CreatePresignedMlflowTrackingServerUrlRequest$SessionExpirationDurationInSeconds": "

The duration in seconds that your MLflow UI session is valid.

", "CreatePresignedNotebookInstanceUrlInput$SessionExpirationDurationInSeconds": "

The duration of the session, in seconds. The default is 12 hours.

" } }, @@ -13684,6 +13797,7 @@ "ListLabelingJobsForWorkteamRequest$SortOrder": "

The sort order for results. The default is Ascending.

", "ListLabelingJobsRequest$SortOrder": "

The sort order for results. The default is Ascending.

", "ListLineageGroupsRequest$SortOrder": "

The sort order for the results. The default is Ascending.

", + "ListMlflowTrackingServersRequest$SortOrder": "

Change the order of the listed tracking servers. By default, tracking servers are listed in Descending order by creation time. To change the list order, you can specify SortOrder to be Ascending.

", "ListModelBiasJobDefinitionsRequest$SortOrder": "

Whether to sort the results in Ascending or Descending order. The default is Descending.

", "ListModelExplainabilityJobDefinitionsRequest$SortOrder": "

Whether to sort the results in Ascending or Descending order. The default is Descending.

", "ListModelPackageGroupsInput$SortOrder": "

The sort order for results. The default is Ascending.

", @@ -13720,6 +13834,12 @@ "ListPipelinesRequest$SortBy": "

The field by which to sort results. The default is CreatedTime.

" } }, + "SortTrackingServerBy": { + "base": null, + "refs": { + "ListMlflowTrackingServersRequest$SortBy": "

Filter for trackings servers sorting by name, creation time, or creation status.

" + } + }, "SortTrialComponentsBy": { "base": null, "refs": { @@ -13753,7 +13873,7 @@ } }, "SourceIpConfig": { - "base": "

A list of IP address ranges (CIDRs). Used to create an allow list of IP addresses for a private workforce. Workers will only be able to login to their worker portal from an IP address within this range. By default, a workforce isn't restricted to specific IP addresses.

", + "base": "

A list of IP address ranges (CIDRs). Used to create an allow list of IP addresses for a private workforce. Workers will only be able to log in to their worker portal from an IP address within this range. By default, a workforce isn't restricted to specific IP addresses.

", "refs": { "CreateWorkforceRequest$SourceIpConfig": null, "UpdateWorkforceRequest$SourceIpConfig": "

A list of one to ten worker IP address ranges (CIDRs) that can be used to access tasks assigned to this workforce.

Maximum: Ten CIDR values

", @@ -13924,6 +14044,16 @@ "refs": { } }, + "StartMlflowTrackingServerRequest": { + "base": null, + "refs": { + } + }, + "StartMlflowTrackingServerResponse": { + "base": null, + "refs": { + } + }, "StartMonitoringScheduleRequest": { "base": null, "refs": { @@ -14032,6 +14162,16 @@ "refs": { } }, + "StopMlflowTrackingServerRequest": { + "base": null, + "refs": { + } + }, + "StopMlflowTrackingServerResponse": { + "base": null, + "refs": { + } + }, "StopMonitoringScheduleRequest": { "base": null, "refs": { @@ -14373,7 +14513,7 @@ } }, "SubscribedWorkteam": { - "base": "

Describes a work team of a vendor that does the a labelling job.

", + "base": "

Describes a work team of a vendor that does the labelling job.

", "refs": { "DescribeSubscribedWorkteamResponse$SubscribedWorkteam": "

A Workteam instance that contains information about the work team.

", "SubscribedWorkteams$member": null @@ -14474,6 +14614,7 @@ "CreateInferenceExperimentRequest$Tags": "

Array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging your Amazon Web Services Resources.

", "CreateInferenceRecommendationsJobRequest$Tags": "

The metadata that you apply to Amazon Web Services resources to help you categorize and organize them. Each tag consists of a key and a value, both of which you define. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", "CreateLabelingJobRequest$Tags": "

An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

", + "CreateMlflowTrackingServerRequest$Tags": "

Tags consisting of key-value pairs used to manage metadata for the tracking server.

", "CreateModelBiasJobDefinitionRequest$Tags": "

(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

", "CreateModelCardRequest$Tags": "

Key-value pairs used to manage metadata for model cards.

", "CreateModelExplainabilityJobDefinitionRequest$Tags": "

(Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

", @@ -14859,6 +15000,8 @@ "DescribeLabelingJobResponse$LastModifiedTime": "

The date and time that the labeling job was last updated.

", "DescribeLineageGroupResponse$CreationTime": "

The creation time of lineage group.

", "DescribeLineageGroupResponse$LastModifiedTime": "

The last modified time of the lineage group.

", + "DescribeMlflowTrackingServerResponse$CreationTime": "

The timestamp of when the described MLflow Tracking Server was created.

", + "DescribeMlflowTrackingServerResponse$LastModifiedTime": "

The timestamp of when the described MLflow Tracking Server was last modified.

", "DescribeModelBiasJobDefinitionResponse$CreationTime": "

The time at which the model bias job was created.

", "DescribeModelCardExportJobResponse$CreatedAt": "

The date and time that the model export job was created.

", "DescribeModelCardExportJobResponse$LastModifiedAt": "

The date and time that the model export job was last modified.

", @@ -15037,6 +15180,8 @@ "ListLabelingJobsRequest$LastModifiedTimeBefore": "

A filter that returns only labeling jobs modified before the specified time (timestamp).

", "ListLineageGroupsRequest$CreatedAfter": "

A timestamp to filter against lineage groups created after a certain point in time.

", "ListLineageGroupsRequest$CreatedBefore": "

A timestamp to filter against lineage groups created before a certain point in time.

", + "ListMlflowTrackingServersRequest$CreatedAfter": "

Use the CreatedAfter filter to only list tracking servers created after a specific date and time. Listed tracking servers are shown with a date and time such as \"2024-03-16T01:46:56+00:00\". The CreatedAfter parameter takes in a Unix timestamp. To convert a date and time into a Unix timestamp, see EpochConverter.

", + "ListMlflowTrackingServersRequest$CreatedBefore": "

Use the CreatedBefore filter to only list tracking servers created before a specific date and time. Listed tracking servers are shown with a date and time such as \"2024-03-16T01:46:56+00:00\". The CreatedBefore parameter takes in a Unix timestamp. To convert a date and time into a Unix timestamp, see EpochConverter.

", "ListModelBiasJobDefinitionsRequest$CreationTimeBefore": "

A filter that returns only model bias jobs created before a specified time.

", "ListModelBiasJobDefinitionsRequest$CreationTimeAfter": "

A filter that returns only model bias jobs created after a specified time.

", "ListModelCardExportJobsRequest$CreationTimeAfter": "

Only list model card export jobs that were created after the time specified.

", @@ -15153,6 +15298,8 @@ "SecondaryStatusTransition$EndTime": "

A timestamp that shows when the training job transitioned out of this secondary status state into another secondary status state or when the training job has ended.

", "StudioLifecycleConfigDetails$CreationTime": "

The creation time of the Amazon SageMaker Studio Lifecycle Configuration.

", "StudioLifecycleConfigDetails$LastModifiedTime": "

This value is equivalent to CreationTime because Amazon SageMaker Studio Lifecycle Configurations are immutable.

", + "TrackingServerSummary$CreationTime": "

The creation time of a listed tracking server.

", + "TrackingServerSummary$LastModifiedTime": "

The last modified time of a listed tracking server.

", "TrainingJob$CreationTime": "

A timestamp that indicates when the training job was created.

", "TrainingJob$TrainingStartTime": "

Indicates the time when the training job starts on training instances. You are billed for the time interval between this time and the value of TrainingEndTime. The start time in CloudWatch Logs might be later than this time. The difference is due to the time it takes to download the training data and to the size of the training container.

", "TrainingJob$TrainingEndTime": "

Indicates the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when SageMaker detects a job failure.

", @@ -15194,6 +15341,67 @@ "TimeSeriesConfig$TimestampAttributeName": "

The name of the column indicating a point in time at which the target value of a given item is recorded.

" } }, + "TrackingServerArn": { + "base": null, + "refs": { + "CreateMlflowTrackingServerResponse$TrackingServerArn": "

The ARN of the tracking server.

", + "DeleteMlflowTrackingServerResponse$TrackingServerArn": "

A TrackingServerArn object, the ARN of the tracking server that is deleted if successfully found.

", + "DescribeMlflowTrackingServerResponse$TrackingServerArn": "

The ARN of the described tracking server.

", + "StartMlflowTrackingServerResponse$TrackingServerArn": "

The ARN of the started tracking server.

", + "StopMlflowTrackingServerResponse$TrackingServerArn": "

The ARN of the stopped tracking server.

", + "TrackingServerSummary$TrackingServerArn": "

The ARN of a listed tracking server.

", + "UpdateMlflowTrackingServerResponse$TrackingServerArn": "

The ARN of the updated MLflow Tracking Server.

" + } + }, + "TrackingServerName": { + "base": null, + "refs": { + "CreateMlflowTrackingServerRequest$TrackingServerName": "

A unique string identifying the tracking server name. This string is part of the tracking server ARN.

", + "CreatePresignedMlflowTrackingServerUrlRequest$TrackingServerName": "

The name of the tracking server to connect to your MLflow UI.

", + "DeleteMlflowTrackingServerRequest$TrackingServerName": "

The name of the the tracking server to delete.

", + "DescribeMlflowTrackingServerRequest$TrackingServerName": "

The name of the MLflow Tracking Server to describe.

", + "DescribeMlflowTrackingServerResponse$TrackingServerName": "

The name of the described tracking server.

", + "StartMlflowTrackingServerRequest$TrackingServerName": "

The name of the tracking server to start.

", + "StopMlflowTrackingServerRequest$TrackingServerName": "

The name of the tracking server to stop.

", + "TrackingServerSummary$TrackingServerName": "

The name of a listed tracking server.

", + "UpdateMlflowTrackingServerRequest$TrackingServerName": "

The name of the MLflow Tracking Server to update.

" + } + }, + "TrackingServerSize": { + "base": null, + "refs": { + "CreateMlflowTrackingServerRequest$TrackingServerSize": "

The size of the tracking server you want to create. You can choose between \"Small\", \"Medium\", and \"Large\". The default MLflow Tracking Server configuration size is \"Small\". You can choose a size depending on the projected use of the tracking server such as the volume of data logged, number of users, and frequency of use.

We recommend using a small tracking server for teams of up to 25 users, a medium tracking server for teams of up to 50 users, and a large tracking server for teams of up to 100 users.

", + "DescribeMlflowTrackingServerResponse$TrackingServerSize": "

The size of the described tracking server.

", + "UpdateMlflowTrackingServerRequest$TrackingServerSize": "

The new size for the MLflow Tracking Server.

" + } + }, + "TrackingServerStatus": { + "base": null, + "refs": { + "DescribeMlflowTrackingServerResponse$TrackingServerStatus": "

The current creation status of the described MLflow Tracking Server.

", + "ListMlflowTrackingServersRequest$TrackingServerStatus": "

Filter for tracking servers with a specified creation status.

", + "TrackingServerSummary$TrackingServerStatus": "

The creation status of a listed tracking server.

" + } + }, + "TrackingServerSummary": { + "base": "

The summary of the tracking server to list.

", + "refs": { + "TrackingServerSummaryList$member": null + } + }, + "TrackingServerSummaryList": { + "base": null, + "refs": { + "ListMlflowTrackingServersResponse$TrackingServerSummaries": "

A list of tracking servers according to chosen filters.

" + } + }, + "TrackingServerUrl": { + "base": null, + "refs": { + "CreatePresignedMlflowTrackingServerUrlResponse$AuthorizedUrl": "

A presigned URL with an authorization token.

", + "DescribeMlflowTrackingServerResponse$TrackingServerUrl": "

The URL to connect to the MLflow user interface for the described tracking server.

" + } + }, "TrafficDurationInSeconds": { "base": null, "refs": { @@ -16060,6 +16268,16 @@ "refs": { } }, + "UpdateMlflowTrackingServerRequest": { + "base": null, + "refs": { + } + }, + "UpdateMlflowTrackingServerResponse": { + "base": null, + "refs": { + } + }, "UpdateModelCardRequest": { "base": null, "refs": { @@ -16246,6 +16464,8 @@ "DescribeExperimentResponse$LastModifiedBy": "

Who last modified the experiment.

", "DescribeLineageGroupResponse$CreatedBy": null, "DescribeLineageGroupResponse$LastModifiedBy": null, + "DescribeMlflowTrackingServerResponse$CreatedBy": null, + "DescribeMlflowTrackingServerResponse$LastModifiedBy": null, "DescribeModelCardResponse$CreatedBy": null, "DescribeModelCardResponse$LastModifiedBy": null, "DescribeModelPackageGroupOutput$CreatedBy": null, @@ -16561,6 +16781,14 @@ "TrainingJobSummary$WarmPoolStatus": "

The status of the warm pool associated with the training job.

" } }, + "WeeklyMaintenanceWindowStart": { + "base": null, + "refs": { + "CreateMlflowTrackingServerRequest$WeeklyMaintenanceWindowStart": "

The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time that weekly maintenance updates are scheduled. For example: TUE:03:30.

", + "DescribeMlflowTrackingServerResponse$WeeklyMaintenanceWindowStart": "

The day and time of the week when weekly maintenance occurs on the described tracking server.

", + "UpdateMlflowTrackingServerRequest$WeeklyMaintenanceWindowStart": "

The new weekly maintenance window start day and time to update. The maintenance window day and time should be in Coordinated Universal Time (UTC) 24-hour standard time. For example: TUE:03:30.

" + } + }, "WorkerAccessConfiguration": { "base": "

Use this optional parameter to constrain access to an Amazon S3 resource based on the IP address using supported IAM global condition keys. The Amazon S3 resource is accessed in the worker portal using a Amazon S3 presigned URL.

", "refs": { @@ -16612,7 +16840,7 @@ "WorkforceSecurityGroupIds": { "base": null, "refs": { - "WorkforceVpcConfigRequest$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

", + "WorkforceVpcConfigRequest$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

", "WorkforceVpcConfigResponse$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

" } }, diff --git a/apis/sagemaker/2017-07-24/paginators-1.json b/apis/sagemaker/2017-07-24/paginators-1.json index d77137e47b7..89823b522f3 100644 --- a/apis/sagemaker/2017-07-24/paginators-1.json +++ b/apis/sagemaker/2017-07-24/paginators-1.json @@ -216,6 +216,12 @@ "limit_key": "MaxResults", "result_key": "LineageGroupSummaries" }, + "ListMlflowTrackingServers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "TrackingServerSummaries" + }, "ListModelBiasJobDefinitions": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/apis/shield/2016-06-02/api-2.json b/apis/shield/2016-06-02/api-2.json index d3ac62da6af..d8215b4cf22 100644 --- a/apis/shield/2016-06-02/api-2.json +++ b/apis/shield/2016-06-02/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"shield", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"AWS Shield", "serviceFullName":"AWS Shield", "serviceId":"Shield", "signatureVersion":"v4", "targetPrefix":"AWSShield_20160616", - "uid":"shield-2016-06-02" + "uid":"shield-2016-06-02", + "auth":["aws.auth#sigv4"] }, "operations":{ "AssociateDRTLogBucket":{ diff --git a/apis/shield/2016-06-02/endpoint-rule-set-1.json b/apis/shield/2016-06-02/endpoint-rule-set-1.json index 3d3c9c13ebd..f53c99a9c86 100644 --- a/apis/shield/2016-06-02/endpoint-rule-set-1.json +++ b/apis/shield/2016-06-02/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -235,7 +233,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -270,7 +267,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -281,14 +277,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -302,14 +300,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -318,11 +314,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -333,14 +329,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -354,7 +352,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -374,7 +371,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -385,14 +381,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -403,9 +401,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/apis/shield/2016-06-02/smoke-2.json b/apis/shield/2016-06-02/smoke-2.json new file mode 100644 index 00000000000..701e8e3a042 --- /dev/null +++ b/apis/shield/2016-06-02/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListAttacksSuccess", + "operationName": "ListAttacks", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-east-1" + } + } + ] +} diff --git a/apis/snowball/2016-06-30/api-2.json b/apis/snowball/2016-06-30/api-2.json index d97ed91d01c..6c7f5841369 100755 --- a/apis/snowball/2016-06-30/api-2.json +++ b/apis/snowball/2016-06-30/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"snowball", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Amazon Snowball", "serviceFullName":"Amazon Import/Export Snowball", "serviceId":"Snowball", "signatureVersion":"v4", "targetPrefix":"AWSIESnowballJobManagementService", - "uid":"snowball-2016-06-30" + "uid":"snowball-2016-06-30", + "auth":["aws.auth#sigv4"] }, "operations":{ "CancelCluster":{ diff --git a/apis/snowball/2016-06-30/smoke-2.json b/apis/snowball/2016-06-30/smoke-2.json new file mode 100644 index 00000000000..3185c31844e --- /dev/null +++ b/apis/snowball/2016-06-30/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeAddressesSuccess", + "operationName": "DescribeAddresses", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/gems/aws-sdk-bedrockruntime/CHANGELOG.md b/gems/aws-sdk-bedrockruntime/CHANGELOG.md index 493880373dd..4d21241455e 100644 --- a/gems/aws-sdk-bedrockruntime/CHANGELOG.md +++ b/gems/aws-sdk-bedrockruntime/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.11.0 (2024-06-18) +------------------ + +* Feature - This release adds support for using Guardrails with the Converse and ConverseStream APIs. + 1.10.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-bedrockruntime/VERSION b/gems/aws-sdk-bedrockruntime/VERSION index 81c871de46b..1cac385c6cb 100644 --- a/gems/aws-sdk-bedrockruntime/VERSION +++ b/gems/aws-sdk-bedrockruntime/VERSION @@ -1 +1 @@ -1.10.0 +1.11.0 diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime.rb index a20e099f1d6..3ae906d4285 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime.rb @@ -54,6 +54,6 @@ # @!group service module Aws::BedrockRuntime - GEM_VERSION = '1.10.0' + GEM_VERSION = '1.11.0' end diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb index 5750a7ddc38..20a33138bce 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client.rb @@ -428,15 +428,19 @@ def initialize(*args) # provides a consistent interface that works with all models that # support messages. This allows you to write code once and use it with # different models. Should a model have unique inference parameters, you - # can also pass those unique parameters to the model. For more - # information, see [Run inference][1] in the Bedrock User Guide. - # - # This operation requires permission for the `bedrock:InvokeModel` - # action. + # can also pass those unique parameters to the model. # + # For information about the Converse API, see *Use the Converse API* in + # the *Amazon Bedrock User Guide*. To use a guardrail, see *Use a + # guardrail with the Converse API* in the *Amazon Bedrock User Guide*. + # To use a tool with a model, see *Tool use (Function calling)* in the + # *Amazon Bedrock User Guide* # + # For example code, see *Converse API examples* in the *Amazon Bedrock + # User Guide*. # - # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html + # This operation requires permission for the `bedrock:InvokeModel` + # action. # # @option params [required, String] :model_id # The identifier for the model that you want to call. @@ -483,6 +487,10 @@ def initialize(*args) # # # + # @option params [Types::GuardrailConfiguration] :guardrail_config + # Configuration information for a guardrail that you want to use in the + # request. + # # @option params [Hash,Array,String,Numeric,Boolean] :additional_model_request_fields # Additional inference parameters that the model supports, beyond the # base set of inference parameters that `Converse` supports in the @@ -501,8 +509,8 @@ def initialize(*args) # @option params [Array] :additional_model_response_field_paths # Additional model parameters field paths to return in the response. # `Converse` returns the requested fields as a JSON Pointer object in - # the `additionalModelResultFields` field. The following is example JSON - # for `additionalModelResponseFieldPaths`. + # the `additionalModelResponseFields` field. The following is example + # JSON for `additionalModelResponseFieldPaths`. # # `[ "/stop_sequence" ]` # @@ -525,6 +533,7 @@ def initialize(*args) # * {Types::ConverseResponse#usage #usage} => Types::TokenUsage # * {Types::ConverseResponse#metrics #metrics} => Types::ConverseMetrics # * {Types::ConverseResponse#additional_model_response_fields #additional_model_response_fields} => Hash,Array,String,Numeric,Boolean + # * {Types::ConverseResponse#trace #trace} => Types::ConverseTrace # # @example Request syntax with placeholder values # @@ -565,6 +574,11 @@ def initialize(*args) # ], # status: "success", # accepts success, error # }, + # guard_content: { + # text: { + # text: "String", # required + # }, + # }, # }, # ], # }, @@ -572,6 +586,11 @@ def initialize(*args) # system: [ # { # text: "NonEmptyString", + # guard_content: { + # text: { + # text: "String", # required + # }, + # }, # }, # ], # inference_config: { @@ -603,6 +622,11 @@ def initialize(*args) # }, # }, # }, + # guardrail_config: { + # guardrail_identifier: "GuardrailIdentifier", # required + # guardrail_version: "GuardrailVersion", # required + # trace: "enabled", # accepts enabled, disabled + # }, # additional_model_request_fields: { # }, # additional_model_response_field_paths: ["ConverseRequestAdditionalModelResponseFieldPathsListMemberString"], @@ -623,11 +647,65 @@ def initialize(*args) # resp.output.message.content[0].tool_result.content[0].image.format #=> String, one of "png", "jpeg", "gif", "webp" # resp.output.message.content[0].tool_result.content[0].image.source.bytes #=> String # resp.output.message.content[0].tool_result.status #=> String, one of "success", "error" - # resp.stop_reason #=> String, one of "end_turn", "tool_use", "max_tokens", "stop_sequence", "content_filtered" + # resp.output.message.content[0].guard_content.text.text #=> String + # resp.stop_reason #=> String, one of "end_turn", "tool_use", "max_tokens", "stop_sequence", "guardrail_intervened", "content_filtered" # resp.usage.input_tokens #=> Integer # resp.usage.output_tokens #=> Integer # resp.usage.total_tokens #=> Integer # resp.metrics.latency_ms #=> Integer + # resp.trace.guardrail.model_output #=> Array + # resp.trace.guardrail.model_output[0] #=> String + # resp.trace.guardrail.input_assessment #=> Hash + # resp.trace.guardrail.input_assessment["String"].topic_policy.topics #=> Array + # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].name #=> String + # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].type #=> String, one of "DENY" + # resp.trace.guardrail.input_assessment["String"].topic_policy.topics[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.input_assessment["String"].content_policy.filters #=> Array + # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK" + # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH" + # resp.trace.guardrail.input_assessment["String"].content_policy.filters[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words #=> Array + # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].match #=> String + # resp.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists #=> Array + # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].match #=> String + # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY" + # resp.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities #=> Array + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].match #=> String + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER" + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED" + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes #=> Array + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].name #=> String + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].match #=> String + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].regex #=> String + # resp.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED" + # resp.trace.guardrail.output_assessments #=> Hash + # resp.trace.guardrail.output_assessments["String"] #=> Array + # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics #=> Array + # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].name #=> String + # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].type #=> String, one of "DENY" + # resp.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters #=> Array + # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK" + # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH" + # resp.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words #=> Array + # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].match #=> String + # resp.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists #=> Array + # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].match #=> String + # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY" + # resp.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED" + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities #=> Array + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].match #=> String + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER" + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED" + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes #=> Array + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].name #=> String + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].match #=> String + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].regex #=> String + # resp.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED" # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/Converse AWS API Documentation # @@ -643,23 +721,27 @@ def converse(params = {}, options = {}) # works with all Amazon Bedrock models that support messages. This # allows you to write code once and use it with different models. Should # a model have unique inference parameters, you can also pass those - # unique parameters to the model. For more information, see [Run - # inference][1] in the Bedrock User Guide. + # unique parameters to the model. # # To find out if a model supports streaming, call - # [GetFoundationModel][2] and check the `responseStreamingSupported` + # [GetFoundationModel][1] and check the `responseStreamingSupported` # field in the response. # - # For example code, see *Invoke model with streaming code example* in - # the *Amazon Bedrock User Guide*. + # For information about the Converse API, see *Use the Converse API* in + # the *Amazon Bedrock User Guide*. To use a guardrail, see *Use a + # guardrail with the Converse API* in the *Amazon Bedrock User Guide*. + # To use a tool with a model, see *Tool use (Function calling)* in the + # *Amazon Bedrock User Guide* + # + # For example code, see *Conversation streaming example* in the *Amazon + # Bedrock User Guide*. # # This operation requires permission for the # `bedrock:InvokeModelWithResponseStream` action. # # # - # [1]: https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html - # [2]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetFoundationModel.html + # [1]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetFoundationModel.html # # @option params [required, String] :model_id # The ID for the model. @@ -705,6 +787,10 @@ def converse(params = {}, options = {}) # # # + # @option params [Types::GuardrailStreamConfiguration] :guardrail_config + # Configuration information for a guardrail that you want to use in the + # request. + # # @option params [Hash,Array,String,Numeric,Boolean] :additional_model_request_fields # Additional inference parameters that the model supports, beyond the # base set of inference parameters that `ConverseStream` supports in the @@ -718,7 +804,7 @@ def converse(params = {}, options = {}) # @option params [Array] :additional_model_response_field_paths # Additional model parameters field paths to return in the response. # `ConverseStream` returns the requested fields as a JSON Pointer object - # in the `additionalModelResultFields` field. The following is example + # in the `additionalModelResponseFields` field. The following is example # JSON for `additionalModelResponseFieldPaths`. # # `[ "/stop_sequence" ]` @@ -942,6 +1028,11 @@ def converse(params = {}, options = {}) # ], # status: "success", # accepts success, error # }, + # guard_content: { + # text: { + # text: "String", # required + # }, + # }, # }, # ], # }, @@ -949,6 +1040,11 @@ def converse(params = {}, options = {}) # system: [ # { # text: "NonEmptyString", + # guard_content: { + # text: { + # text: "String", # required + # }, + # }, # }, # ], # inference_config: { @@ -980,6 +1076,12 @@ def converse(params = {}, options = {}) # }, # }, # }, + # guardrail_config: { + # guardrail_identifier: "GuardrailIdentifier", # required + # guardrail_version: "GuardrailVersion", # required + # trace: "enabled", # accepts enabled, disabled + # stream_processing_mode: "sync", # accepts sync, async + # }, # additional_model_request_fields: { # }, # additional_model_response_field_paths: ["ConverseStreamRequestAdditionalModelResponseFieldPathsListMemberString"], @@ -1008,13 +1110,66 @@ def converse(params = {}, options = {}) # event.content_block_index #=> Integer # # For :message_stop event available at #on_message_stop_event callback and response eventstream enumerator: - # event.stop_reason #=> String, one of "end_turn", "tool_use", "max_tokens", "stop_sequence", "content_filtered" + # event.stop_reason #=> String, one of "end_turn", "tool_use", "max_tokens", "stop_sequence", "guardrail_intervened", "content_filtered" # # For :metadata event available at #on_metadata_event callback and response eventstream enumerator: # event.usage.input_tokens #=> Integer # event.usage.output_tokens #=> Integer # event.usage.total_tokens #=> Integer # event.metrics.latency_ms #=> Integer + # event.trace.guardrail.model_output #=> Array + # event.trace.guardrail.model_output[0] #=> String + # event.trace.guardrail.input_assessment #=> Hash + # event.trace.guardrail.input_assessment["String"].topic_policy.topics #=> Array + # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].name #=> String + # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].type #=> String, one of "DENY" + # event.trace.guardrail.input_assessment["String"].topic_policy.topics[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.input_assessment["String"].content_policy.filters #=> Array + # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK" + # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH" + # event.trace.guardrail.input_assessment["String"].content_policy.filters[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.input_assessment["String"].word_policy.custom_words #=> Array + # event.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].match #=> String + # event.trace.guardrail.input_assessment["String"].word_policy.custom_words[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists #=> Array + # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].match #=> String + # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY" + # event.trace.guardrail.input_assessment["String"].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities #=> Array + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].match #=> String + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER" + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED" + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes #=> Array + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].name #=> String + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].match #=> String + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].regex #=> String + # event.trace.guardrail.input_assessment["String"].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED" + # event.trace.guardrail.output_assessments #=> Hash + # event.trace.guardrail.output_assessments["String"] #=> Array + # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics #=> Array + # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].name #=> String + # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].type #=> String, one of "DENY" + # event.trace.guardrail.output_assessments["String"][0].topic_policy.topics[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.output_assessments["String"][0].content_policy.filters #=> Array + # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].type #=> String, one of "INSULTS", "HATE", "SEXUAL", "VIOLENCE", "MISCONDUCT", "PROMPT_ATTACK" + # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].confidence #=> String, one of "NONE", "LOW", "MEDIUM", "HIGH" + # event.trace.guardrail.output_assessments["String"][0].content_policy.filters[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words #=> Array + # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].match #=> String + # event.trace.guardrail.output_assessments["String"][0].word_policy.custom_words[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists #=> Array + # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].match #=> String + # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].type #=> String, one of "PROFANITY" + # event.trace.guardrail.output_assessments["String"][0].word_policy.managed_word_lists[0].action #=> String, one of "BLOCKED" + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities #=> Array + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].match #=> String + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].type #=> String, one of "ADDRESS", "AGE", "AWS_ACCESS_KEY", "AWS_SECRET_KEY", "CA_HEALTH_NUMBER", "CA_SOCIAL_INSURANCE_NUMBER", "CREDIT_DEBIT_CARD_CVV", "CREDIT_DEBIT_CARD_EXPIRY", "CREDIT_DEBIT_CARD_NUMBER", "DRIVER_ID", "EMAIL", "INTERNATIONAL_BANK_ACCOUNT_NUMBER", "IP_ADDRESS", "LICENSE_PLATE", "MAC_ADDRESS", "NAME", "PASSWORD", "PHONE", "PIN", "SWIFT_CODE", "UK_NATIONAL_HEALTH_SERVICE_NUMBER", "UK_NATIONAL_INSURANCE_NUMBER", "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER", "URL", "USERNAME", "US_BANK_ACCOUNT_NUMBER", "US_BANK_ROUTING_NUMBER", "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER", "US_PASSPORT_NUMBER", "US_SOCIAL_SECURITY_NUMBER", "VEHICLE_IDENTIFICATION_NUMBER" + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.pii_entities[0].action #=> String, one of "ANONYMIZED", "BLOCKED" + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes #=> Array + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].name #=> String + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].match #=> String + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].regex #=> String + # event.trace.guardrail.output_assessments["String"][0].sensitive_information_policy.regexes[0].action #=> String, one of "ANONYMIZED", "BLOCKED" # # For :internal_server_exception event available at #on_internal_server_exception_event callback and response eventstream enumerator: # event.message #=> String @@ -1069,10 +1224,10 @@ def converse_stream(params = {}, options = {}, &block) # # @option params [required, String, StringIO, File] :body # The prompt and inference parameters in the format specified in the - # `contentType` in the header. To see the format and content of the - # request and response bodies for different models, refer to [Inference - # parameters][1]. For more information, see [Run inference][2] in the - # Bedrock User Guide. + # `contentType` in the header. You must provide the body in JSON format. + # To see the format and content of the request and response bodies for + # different models, refer to [Inference parameters][1]. For more + # information, see [Run inference][2] in the Bedrock User Guide. # # # @@ -1080,7 +1235,7 @@ def converse_stream(params = {}, options = {}, &block) # [2]: https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html # # @option params [String] :content_type - # The MIME type of the input data in the request. The default value is + # The MIME type of the input data in the request. You must specify # `application/json`. # # @option params [String] :accept @@ -1187,10 +1342,10 @@ def invoke_model(params = {}, options = {}) # # @option params [required, String, StringIO, File] :body # The prompt and inference parameters in the format specified in the - # `contentType` in the header. To see the format and content of the - # request and response bodies for different models, refer to [Inference - # parameters][1]. For more information, see [Run inference][2] in the - # Bedrock User Guide. + # `contentType` in the header. You must provide the body in JSON format. + # To see the format and content of the request and response bodies for + # different models, refer to [Inference parameters][1]. For more + # information, see [Run inference][2] in the Bedrock User Guide. # # # @@ -1198,7 +1353,7 @@ def invoke_model(params = {}, options = {}) # [2]: https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html # # @option params [String] :content_type - # The MIME type of the input data in the request. The default value is + # The MIME type of the input data in the request. You must specify # `application/json`. # # @option params [String] :accept @@ -1464,7 +1619,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-bedrockruntime' - context[:gem_version] = '1.10.0' + context[:gem_version] = '1.11.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client_api.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client_api.rb index 1ad31b2fa7f..e9c71a55970 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client_api.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/client_api.rb @@ -39,9 +39,48 @@ module ClientApi ConverseStreamRequestAdditionalModelResponseFieldPathsList = Shapes::ListShape.new(name: 'ConverseStreamRequestAdditionalModelResponseFieldPathsList') ConverseStreamRequestAdditionalModelResponseFieldPathsListMemberString = Shapes::StringShape.new(name: 'ConverseStreamRequestAdditionalModelResponseFieldPathsListMemberString') ConverseStreamResponse = Shapes::StructureShape.new(name: 'ConverseStreamResponse') + ConverseStreamTrace = Shapes::StructureShape.new(name: 'ConverseStreamTrace') + ConverseTrace = Shapes::StructureShape.new(name: 'ConverseTrace') Document = Shapes::DocumentShape.new(name: 'Document', document: true) + GuardrailAssessment = Shapes::StructureShape.new(name: 'GuardrailAssessment') + GuardrailAssessmentList = Shapes::ListShape.new(name: 'GuardrailAssessmentList') + GuardrailAssessmentListMap = Shapes::MapShape.new(name: 'GuardrailAssessmentListMap') + GuardrailAssessmentMap = Shapes::MapShape.new(name: 'GuardrailAssessmentMap') + GuardrailConfiguration = Shapes::StructureShape.new(name: 'GuardrailConfiguration') + GuardrailContentFilter = Shapes::StructureShape.new(name: 'GuardrailContentFilter') + GuardrailContentFilterConfidence = Shapes::StringShape.new(name: 'GuardrailContentFilterConfidence') + GuardrailContentFilterList = Shapes::ListShape.new(name: 'GuardrailContentFilterList') + GuardrailContentFilterType = Shapes::StringShape.new(name: 'GuardrailContentFilterType') + GuardrailContentPolicyAction = Shapes::StringShape.new(name: 'GuardrailContentPolicyAction') + GuardrailContentPolicyAssessment = Shapes::StructureShape.new(name: 'GuardrailContentPolicyAssessment') + GuardrailConverseContentBlock = Shapes::UnionShape.new(name: 'GuardrailConverseContentBlock') + GuardrailConverseTextBlock = Shapes::StructureShape.new(name: 'GuardrailConverseTextBlock') + GuardrailCustomWord = Shapes::StructureShape.new(name: 'GuardrailCustomWord') + GuardrailCustomWordList = Shapes::ListShape.new(name: 'GuardrailCustomWordList') GuardrailIdentifier = Shapes::StringShape.new(name: 'GuardrailIdentifier') + GuardrailManagedWord = Shapes::StructureShape.new(name: 'GuardrailManagedWord') + GuardrailManagedWordList = Shapes::ListShape.new(name: 'GuardrailManagedWordList') + GuardrailManagedWordType = Shapes::StringShape.new(name: 'GuardrailManagedWordType') + GuardrailOutputText = Shapes::StringShape.new(name: 'GuardrailOutputText') + GuardrailPiiEntityFilter = Shapes::StructureShape.new(name: 'GuardrailPiiEntityFilter') + GuardrailPiiEntityFilterList = Shapes::ListShape.new(name: 'GuardrailPiiEntityFilterList') + GuardrailPiiEntityType = Shapes::StringShape.new(name: 'GuardrailPiiEntityType') + GuardrailRegexFilter = Shapes::StructureShape.new(name: 'GuardrailRegexFilter') + GuardrailRegexFilterList = Shapes::ListShape.new(name: 'GuardrailRegexFilterList') + GuardrailSensitiveInformationPolicyAction = Shapes::StringShape.new(name: 'GuardrailSensitiveInformationPolicyAction') + GuardrailSensitiveInformationPolicyAssessment = Shapes::StructureShape.new(name: 'GuardrailSensitiveInformationPolicyAssessment') + GuardrailStreamConfiguration = Shapes::StructureShape.new(name: 'GuardrailStreamConfiguration') + GuardrailStreamProcessingMode = Shapes::StringShape.new(name: 'GuardrailStreamProcessingMode') + GuardrailTopic = Shapes::StructureShape.new(name: 'GuardrailTopic') + GuardrailTopicList = Shapes::ListShape.new(name: 'GuardrailTopicList') + GuardrailTopicPolicyAction = Shapes::StringShape.new(name: 'GuardrailTopicPolicyAction') + GuardrailTopicPolicyAssessment = Shapes::StructureShape.new(name: 'GuardrailTopicPolicyAssessment') + GuardrailTopicType = Shapes::StringShape.new(name: 'GuardrailTopicType') + GuardrailTrace = Shapes::StringShape.new(name: 'GuardrailTrace') + GuardrailTraceAssessment = Shapes::StructureShape.new(name: 'GuardrailTraceAssessment') GuardrailVersion = Shapes::StringShape.new(name: 'GuardrailVersion') + GuardrailWordPolicyAction = Shapes::StringShape.new(name: 'GuardrailWordPolicyAction') + GuardrailWordPolicyAssessment = Shapes::StructureShape.new(name: 'GuardrailWordPolicyAssessment') ImageBlock = Shapes::StructureShape.new(name: 'ImageBlock') ImageFormat = Shapes::StringShape.new(name: 'ImageFormat') ImageSource = Shapes::UnionShape.new(name: 'ImageSource') @@ -65,6 +104,7 @@ module ClientApi MimeType = Shapes::StringShape.new(name: 'MimeType') ModelErrorException = Shapes::StructureShape.new(name: 'ModelErrorException') ModelNotReadyException = Shapes::StructureShape.new(name: 'ModelNotReadyException') + ModelOutputs = Shapes::ListShape.new(name: 'ModelOutputs') ModelStreamErrorException = Shapes::StructureShape.new(name: 'ModelStreamErrorException') ModelTimeoutException = Shapes::StructureShape.new(name: 'ModelTimeoutException') NonBlankString = Shapes::StringShape.new(name: 'NonBlankString') @@ -115,11 +155,13 @@ module ClientApi ContentBlock.add_member(:image, Shapes::ShapeRef.new(shape: ImageBlock, location_name: "image")) ContentBlock.add_member(:tool_use, Shapes::ShapeRef.new(shape: ToolUseBlock, location_name: "toolUse")) ContentBlock.add_member(:tool_result, Shapes::ShapeRef.new(shape: ToolResultBlock, location_name: "toolResult")) + ContentBlock.add_member(:guard_content, Shapes::ShapeRef.new(shape: GuardrailConverseContentBlock, location_name: "guardContent")) ContentBlock.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown')) ContentBlock.add_member_subclass(:text, Types::ContentBlock::Text) ContentBlock.add_member_subclass(:image, Types::ContentBlock::Image) ContentBlock.add_member_subclass(:tool_use, Types::ContentBlock::ToolUse) ContentBlock.add_member_subclass(:tool_result, Types::ContentBlock::ToolResult) + ContentBlock.add_member_subclass(:guard_content, Types::ContentBlock::GuardContent) ContentBlock.add_member_subclass(:unknown, Types::ContentBlock::Unknown) ContentBlock.struct_class = Types::ContentBlock @@ -164,6 +206,7 @@ module ClientApi ConverseRequest.add_member(:system, Shapes::ShapeRef.new(shape: SystemContentBlocks, location_name: "system")) ConverseRequest.add_member(:inference_config, Shapes::ShapeRef.new(shape: InferenceConfiguration, location_name: "inferenceConfig")) ConverseRequest.add_member(:tool_config, Shapes::ShapeRef.new(shape: ToolConfiguration, location_name: "toolConfig")) + ConverseRequest.add_member(:guardrail_config, Shapes::ShapeRef.new(shape: GuardrailConfiguration, location_name: "guardrailConfig")) ConverseRequest.add_member(:additional_model_request_fields, Shapes::ShapeRef.new(shape: Document, location_name: "additionalModelRequestFields")) ConverseRequest.add_member(:additional_model_response_field_paths, Shapes::ShapeRef.new(shape: ConverseRequestAdditionalModelResponseFieldPathsList, location_name: "additionalModelResponseFieldPaths")) ConverseRequest.struct_class = Types::ConverseRequest @@ -175,10 +218,12 @@ module ClientApi ConverseResponse.add_member(:usage, Shapes::ShapeRef.new(shape: TokenUsage, required: true, location_name: "usage")) ConverseResponse.add_member(:metrics, Shapes::ShapeRef.new(shape: ConverseMetrics, required: true, location_name: "metrics")) ConverseResponse.add_member(:additional_model_response_fields, Shapes::ShapeRef.new(shape: Document, location_name: "additionalModelResponseFields")) + ConverseResponse.add_member(:trace, Shapes::ShapeRef.new(shape: ConverseTrace, location_name: "trace")) ConverseResponse.struct_class = Types::ConverseResponse ConverseStreamMetadataEvent.add_member(:usage, Shapes::ShapeRef.new(shape: TokenUsage, required: true, location_name: "usage")) ConverseStreamMetadataEvent.add_member(:metrics, Shapes::ShapeRef.new(shape: ConverseStreamMetrics, required: true, location_name: "metrics")) + ConverseStreamMetadataEvent.add_member(:trace, Shapes::ShapeRef.new(shape: ConverseStreamTrace, location_name: "trace")) ConverseStreamMetadataEvent.struct_class = Types::ConverseStreamMetadataEvent ConverseStreamMetrics.add_member(:latency_ms, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "latencyMs")) @@ -201,6 +246,7 @@ module ClientApi ConverseStreamRequest.add_member(:system, Shapes::ShapeRef.new(shape: SystemContentBlocks, location_name: "system")) ConverseStreamRequest.add_member(:inference_config, Shapes::ShapeRef.new(shape: InferenceConfiguration, location_name: "inferenceConfig")) ConverseStreamRequest.add_member(:tool_config, Shapes::ShapeRef.new(shape: ToolConfiguration, location_name: "toolConfig")) + ConverseStreamRequest.add_member(:guardrail_config, Shapes::ShapeRef.new(shape: GuardrailStreamConfiguration, location_name: "guardrailConfig")) ConverseStreamRequest.add_member(:additional_model_request_fields, Shapes::ShapeRef.new(shape: Document, location_name: "additionalModelRequestFields")) ConverseStreamRequest.add_member(:additional_model_response_field_paths, Shapes::ShapeRef.new(shape: ConverseStreamRequestAdditionalModelResponseFieldPathsList, location_name: "additionalModelResponseFieldPaths")) ConverseStreamRequest.struct_class = Types::ConverseStreamRequest @@ -212,6 +258,107 @@ module ClientApi ConverseStreamResponse[:payload] = :stream ConverseStreamResponse[:payload_member] = ConverseStreamResponse.member(:stream) + ConverseStreamTrace.add_member(:guardrail, Shapes::ShapeRef.new(shape: GuardrailTraceAssessment, location_name: "guardrail")) + ConverseStreamTrace.struct_class = Types::ConverseStreamTrace + + ConverseTrace.add_member(:guardrail, Shapes::ShapeRef.new(shape: GuardrailTraceAssessment, location_name: "guardrail")) + ConverseTrace.struct_class = Types::ConverseTrace + + GuardrailAssessment.add_member(:topic_policy, Shapes::ShapeRef.new(shape: GuardrailTopicPolicyAssessment, location_name: "topicPolicy")) + GuardrailAssessment.add_member(:content_policy, Shapes::ShapeRef.new(shape: GuardrailContentPolicyAssessment, location_name: "contentPolicy")) + GuardrailAssessment.add_member(:word_policy, Shapes::ShapeRef.new(shape: GuardrailWordPolicyAssessment, location_name: "wordPolicy")) + GuardrailAssessment.add_member(:sensitive_information_policy, Shapes::ShapeRef.new(shape: GuardrailSensitiveInformationPolicyAssessment, location_name: "sensitiveInformationPolicy")) + GuardrailAssessment.struct_class = Types::GuardrailAssessment + + GuardrailAssessmentList.member = Shapes::ShapeRef.new(shape: GuardrailAssessment) + + GuardrailAssessmentListMap.key = Shapes::ShapeRef.new(shape: String) + GuardrailAssessmentListMap.value = Shapes::ShapeRef.new(shape: GuardrailAssessmentList) + + GuardrailAssessmentMap.key = Shapes::ShapeRef.new(shape: String) + GuardrailAssessmentMap.value = Shapes::ShapeRef.new(shape: GuardrailAssessment) + + GuardrailConfiguration.add_member(:guardrail_identifier, Shapes::ShapeRef.new(shape: GuardrailIdentifier, required: true, location_name: "guardrailIdentifier")) + GuardrailConfiguration.add_member(:guardrail_version, Shapes::ShapeRef.new(shape: GuardrailVersion, required: true, location_name: "guardrailVersion")) + GuardrailConfiguration.add_member(:trace, Shapes::ShapeRef.new(shape: GuardrailTrace, location_name: "trace")) + GuardrailConfiguration.struct_class = Types::GuardrailConfiguration + + GuardrailContentFilter.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailContentFilterType, required: true, location_name: "type")) + GuardrailContentFilter.add_member(:confidence, Shapes::ShapeRef.new(shape: GuardrailContentFilterConfidence, required: true, location_name: "confidence")) + GuardrailContentFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailContentPolicyAction, required: true, location_name: "action")) + GuardrailContentFilter.struct_class = Types::GuardrailContentFilter + + GuardrailContentFilterList.member = Shapes::ShapeRef.new(shape: GuardrailContentFilter) + + GuardrailContentPolicyAssessment.add_member(:filters, Shapes::ShapeRef.new(shape: GuardrailContentFilterList, required: true, location_name: "filters")) + GuardrailContentPolicyAssessment.struct_class = Types::GuardrailContentPolicyAssessment + + GuardrailConverseContentBlock.add_member(:text, Shapes::ShapeRef.new(shape: GuardrailConverseTextBlock, location_name: "text")) + GuardrailConverseContentBlock.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown')) + GuardrailConverseContentBlock.add_member_subclass(:text, Types::GuardrailConverseContentBlock::Text) + GuardrailConverseContentBlock.add_member_subclass(:unknown, Types::GuardrailConverseContentBlock::Unknown) + GuardrailConverseContentBlock.struct_class = Types::GuardrailConverseContentBlock + + GuardrailConverseTextBlock.add_member(:text, Shapes::ShapeRef.new(shape: String, required: true, location_name: "text")) + GuardrailConverseTextBlock.struct_class = Types::GuardrailConverseTextBlock + + GuardrailCustomWord.add_member(:match, Shapes::ShapeRef.new(shape: String, required: true, location_name: "match")) + GuardrailCustomWord.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailWordPolicyAction, required: true, location_name: "action")) + GuardrailCustomWord.struct_class = Types::GuardrailCustomWord + + GuardrailCustomWordList.member = Shapes::ShapeRef.new(shape: GuardrailCustomWord) + + GuardrailManagedWord.add_member(:match, Shapes::ShapeRef.new(shape: String, required: true, location_name: "match")) + GuardrailManagedWord.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailManagedWordType, required: true, location_name: "type")) + GuardrailManagedWord.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailWordPolicyAction, required: true, location_name: "action")) + GuardrailManagedWord.struct_class = Types::GuardrailManagedWord + + GuardrailManagedWordList.member = Shapes::ShapeRef.new(shape: GuardrailManagedWord) + + GuardrailPiiEntityFilter.add_member(:match, Shapes::ShapeRef.new(shape: String, required: true, location_name: "match")) + GuardrailPiiEntityFilter.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailPiiEntityType, required: true, location_name: "type")) + GuardrailPiiEntityFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailSensitiveInformationPolicyAction, required: true, location_name: "action")) + GuardrailPiiEntityFilter.struct_class = Types::GuardrailPiiEntityFilter + + GuardrailPiiEntityFilterList.member = Shapes::ShapeRef.new(shape: GuardrailPiiEntityFilter) + + GuardrailRegexFilter.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name")) + GuardrailRegexFilter.add_member(:match, Shapes::ShapeRef.new(shape: String, location_name: "match")) + GuardrailRegexFilter.add_member(:regex, Shapes::ShapeRef.new(shape: String, location_name: "regex")) + GuardrailRegexFilter.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailSensitiveInformationPolicyAction, required: true, location_name: "action")) + GuardrailRegexFilter.struct_class = Types::GuardrailRegexFilter + + GuardrailRegexFilterList.member = Shapes::ShapeRef.new(shape: GuardrailRegexFilter) + + GuardrailSensitiveInformationPolicyAssessment.add_member(:pii_entities, Shapes::ShapeRef.new(shape: GuardrailPiiEntityFilterList, required: true, location_name: "piiEntities")) + GuardrailSensitiveInformationPolicyAssessment.add_member(:regexes, Shapes::ShapeRef.new(shape: GuardrailRegexFilterList, required: true, location_name: "regexes")) + GuardrailSensitiveInformationPolicyAssessment.struct_class = Types::GuardrailSensitiveInformationPolicyAssessment + + GuardrailStreamConfiguration.add_member(:guardrail_identifier, Shapes::ShapeRef.new(shape: GuardrailIdentifier, required: true, location_name: "guardrailIdentifier")) + GuardrailStreamConfiguration.add_member(:guardrail_version, Shapes::ShapeRef.new(shape: GuardrailVersion, required: true, location_name: "guardrailVersion")) + GuardrailStreamConfiguration.add_member(:trace, Shapes::ShapeRef.new(shape: GuardrailTrace, location_name: "trace")) + GuardrailStreamConfiguration.add_member(:stream_processing_mode, Shapes::ShapeRef.new(shape: GuardrailStreamProcessingMode, location_name: "streamProcessingMode")) + GuardrailStreamConfiguration.struct_class = Types::GuardrailStreamConfiguration + + GuardrailTopic.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name")) + GuardrailTopic.add_member(:type, Shapes::ShapeRef.new(shape: GuardrailTopicType, required: true, location_name: "type")) + GuardrailTopic.add_member(:action, Shapes::ShapeRef.new(shape: GuardrailTopicPolicyAction, required: true, location_name: "action")) + GuardrailTopic.struct_class = Types::GuardrailTopic + + GuardrailTopicList.member = Shapes::ShapeRef.new(shape: GuardrailTopic) + + GuardrailTopicPolicyAssessment.add_member(:topics, Shapes::ShapeRef.new(shape: GuardrailTopicList, required: true, location_name: "topics")) + GuardrailTopicPolicyAssessment.struct_class = Types::GuardrailTopicPolicyAssessment + + GuardrailTraceAssessment.add_member(:model_output, Shapes::ShapeRef.new(shape: ModelOutputs, location_name: "modelOutput")) + GuardrailTraceAssessment.add_member(:input_assessment, Shapes::ShapeRef.new(shape: GuardrailAssessmentMap, location_name: "inputAssessment")) + GuardrailTraceAssessment.add_member(:output_assessments, Shapes::ShapeRef.new(shape: GuardrailAssessmentListMap, location_name: "outputAssessments")) + GuardrailTraceAssessment.struct_class = Types::GuardrailTraceAssessment + + GuardrailWordPolicyAssessment.add_member(:custom_words, Shapes::ShapeRef.new(shape: GuardrailCustomWordList, required: true, location_name: "customWords")) + GuardrailWordPolicyAssessment.add_member(:managed_word_lists, Shapes::ShapeRef.new(shape: GuardrailManagedWordList, required: true, location_name: "managedWordLists")) + GuardrailWordPolicyAssessment.struct_class = Types::GuardrailWordPolicyAssessment + ImageBlock.add_member(:format, Shapes::ShapeRef.new(shape: ImageFormat, required: true, location_name: "format")) ImageBlock.add_member(:source, Shapes::ShapeRef.new(shape: ImageSource, required: true, location_name: "source")) ImageBlock.struct_class = Types::ImageBlock @@ -288,6 +435,8 @@ module ClientApi ModelNotReadyException.add_member(:message, Shapes::ShapeRef.new(shape: NonBlankString, location_name: "message")) ModelNotReadyException.struct_class = Types::ModelNotReadyException + ModelOutputs.member = Shapes::ShapeRef.new(shape: GuardrailOutputText) + ModelStreamErrorException.add_member(:message, Shapes::ShapeRef.new(shape: NonBlankString, location_name: "message")) ModelStreamErrorException.add_member(:original_status_code, Shapes::ShapeRef.new(shape: StatusCode, location_name: "originalStatusCode")) ModelStreamErrorException.add_member(:original_message, Shapes::ShapeRef.new(shape: NonBlankString, location_name: "originalMessage")) @@ -317,8 +466,10 @@ module ClientApi SpecificToolChoice.struct_class = Types::SpecificToolChoice SystemContentBlock.add_member(:text, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "text")) + SystemContentBlock.add_member(:guard_content, Shapes::ShapeRef.new(shape: GuardrailConverseContentBlock, location_name: "guardContent")) SystemContentBlock.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown')) SystemContentBlock.add_member_subclass(:text, Types::SystemContentBlock::Text) + SystemContentBlock.add_member_subclass(:guard_content, Types::SystemContentBlock::GuardContent) SystemContentBlock.add_member_subclass(:unknown, Types::SystemContentBlock::Unknown) SystemContentBlock.struct_class = Types::SystemContentBlock diff --git a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/types.rb b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/types.rb index 67bdb0c423e..bb49269a075 100644 --- a/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/types.rb +++ b/gems/aws-sdk-bedrockruntime/lib/aws-sdk-bedrockruntime/types.rb @@ -23,7 +23,8 @@ class AccessDeniedException < Struct.new( include Aws::Structure end - # The model must request at least one tool (no text is generated). + # The model must request at least one tool (no text is generated). For + # example, `\{"any" : \{\}\}`. # # @api private # @@ -31,8 +32,8 @@ class AccessDeniedException < Struct.new( # class AnyToolChoice < Aws::EmptyStructure; end - # The Model automatically decides if a tool should be called or to - # whether to generate text instead. + # The Model automatically decides if a tool should be called or whether + # to generate text instead. For example, `\{"auto" : \{\}\}`. # # @api private # @@ -40,7 +41,8 @@ class AnyToolChoice < Aws::EmptyStructure; end # class AutoToolChoice < Aws::EmptyStructure; end - # A block of content for a message. + # A block of content for a message that you pass to, or receive from, a + # model with the Converse API (Converse and ConverseStream). # # @note ContentBlock is a union - when making an API calls you must set exactly one of the members. # @@ -66,6 +68,15 @@ class AutoToolChoice < Aws::EmptyStructure; end # The result for a tool request that a model makes. # @return [Types::ToolResultBlock] # + # @!attribute [rw] guard_content + # Contains the content to assess with the guardrail. If you don't + # specify `guardContent` in a call to the Converse API, the guardrail + # (if passed in the Converse API) assesses the entire message. + # + # For more information, see *Use a guardrail with the Converse API* in + # the *Amazon Bedrock User Guide*.

+ # @return [Types::GuardrailConverseContentBlock] + # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ContentBlock AWS API Documentation # class ContentBlock < Struct.new( @@ -73,6 +84,7 @@ class ContentBlock < Struct.new( :image, :tool_use, :tool_result, + :guard_content, :unknown) SENSITIVE = [] include Aws::Structure @@ -82,6 +94,7 @@ class Text < ContentBlock; end class Image < ContentBlock; end class ToolUse < ContentBlock; end class ToolResult < ContentBlock; end + class GuardContent < ContentBlock; end class Unknown < ContentBlock; end end @@ -281,6 +294,11 @@ class Unknown < ConverseOutput; end # # @return [Types::ToolConfiguration] # + # @!attribute [rw] guardrail_config + # Configuration information for a guardrail that you want to use in + # the request. + # @return [Types::GuardrailConfiguration] + # # @!attribute [rw] additional_model_request_fields # Additional inference parameters that the model supports, beyond the # base set of inference parameters that `Converse` supports in the @@ -295,7 +313,7 @@ class Unknown < ConverseOutput; end # @!attribute [rw] additional_model_response_field_paths # Additional model parameters field paths to return in the response. # `Converse` returns the requested fields as a JSON Pointer object in - # the `additionalModelResultFields` field. The following is example + # the `additionalModelResponseFields` field. The following is example # JSON for `additionalModelResponseFieldPaths`. # # `[ "/stop_sequence" ]` @@ -321,6 +339,7 @@ class ConverseRequest < Struct.new( :system, :inference_config, :tool_config, + :guardrail_config, :additional_model_request_fields, :additional_model_response_field_paths) SENSITIVE = [] @@ -349,6 +368,11 @@ class ConverseRequest < Struct.new( # Additional fields in the response that are unique to the model. # @return [Hash,Array,String,Numeric,Boolean] # + # @!attribute [rw] trace + # A trace object that contains information about the Guardrail + # behavior. + # @return [Types::ConverseTrace] + # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ConverseResponse AWS API Documentation # class ConverseResponse < Struct.new( @@ -356,7 +380,8 @@ class ConverseResponse < Struct.new( :stop_reason, :usage, :metrics, - :additional_model_response_fields) + :additional_model_response_fields, + :trace) SENSITIVE = [] include Aws::Structure end @@ -371,11 +396,17 @@ class ConverseResponse < Struct.new( # The metrics for the conversation stream metadata event. # @return [Types::ConverseStreamMetrics] # + # @!attribute [rw] trace + # The trace object in the response from ConverseStream that contains + # information about the guardrail behavior. + # @return [Types::ConverseStreamTrace] + # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ConverseStreamMetadataEvent AWS API Documentation # class ConverseStreamMetadataEvent < Struct.new( :usage, :metrics, + :trace, :event_type) SENSITIVE = [] include Aws::Structure @@ -444,6 +475,11 @@ class ConverseStreamMetrics < Struct.new( # # @return [Types::ToolConfiguration] # + # @!attribute [rw] guardrail_config + # Configuration information for a guardrail that you want to use in + # the request. + # @return [Types::GuardrailStreamConfiguration] + # # @!attribute [rw] additional_model_request_fields # Additional inference parameters that the model supports, beyond the # base set of inference parameters that `ConverseStream` supports in @@ -453,8 +489,8 @@ class ConverseStreamMetrics < Struct.new( # @!attribute [rw] additional_model_response_field_paths # Additional model parameters field paths to return in the response. # `ConverseStream` returns the requested fields as a JSON Pointer - # object in the `additionalModelResultFields` field. The following is - # example JSON for `additionalModelResponseFieldPaths`. + # object in the `additionalModelResponseFields` field. The following + # is example JSON for `additionalModelResponseFieldPaths`. # # `[ "/stop_sequence" ]` # @@ -479,6 +515,7 @@ class ConverseStreamRequest < Struct.new( :system, :inference_config, :tool_config, + :guardrail_config, :additional_model_request_fields, :additional_model_response_field_paths) SENSITIVE = [] @@ -497,6 +534,400 @@ class ConverseStreamResponse < Struct.new( include Aws::Structure end + # The trace object in a response from ConverseStream. Currently, you can + # only trace guardrails. + # + # @!attribute [rw] guardrail + # The guardrail trace object. + # @return [Types::GuardrailTraceAssessment] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ConverseStreamTrace AWS API Documentation + # + class ConverseStreamTrace < Struct.new( + :guardrail) + SENSITIVE = [] + include Aws::Structure + end + + # The trace object in a response from Converse. Currently, you can only + # trace guardrails. + # + # @!attribute [rw] guardrail + # The guardrail trace object. + # @return [Types::GuardrailTraceAssessment] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ConverseTrace AWS API Documentation + # + class ConverseTrace < Struct.new( + :guardrail) + SENSITIVE = [] + include Aws::Structure + end + + # A behavior assessment of the guardrail policies used in a call to the + # Converse API. + # + # @!attribute [rw] topic_policy + # The topic policy. + # @return [Types::GuardrailTopicPolicyAssessment] + # + # @!attribute [rw] content_policy + # The content policy. + # @return [Types::GuardrailContentPolicyAssessment] + # + # @!attribute [rw] word_policy + # The word policy. + # @return [Types::GuardrailWordPolicyAssessment] + # + # @!attribute [rw] sensitive_information_policy + # The sensitive information policy. + # @return [Types::GuardrailSensitiveInformationPolicyAssessment] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailAssessment AWS API Documentation + # + class GuardrailAssessment < Struct.new( + :topic_policy, + :content_policy, + :word_policy, + :sensitive_information_policy) + SENSITIVE = [] + include Aws::Structure + end + + # Configuration information for a guardrail that you use with the + # Converse action. + # + # @!attribute [rw] guardrail_identifier + # The identifier for the guardrail. + # @return [String] + # + # @!attribute [rw] guardrail_version + # The version of the guardrail. + # @return [String] + # + # @!attribute [rw] trace + # The trace behavior for the guardrail. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailConfiguration AWS API Documentation + # + class GuardrailConfiguration < Struct.new( + :guardrail_identifier, + :guardrail_version, + :trace) + SENSITIVE = [] + include Aws::Structure + end + + # The content filter for a guardrail. + # + # @!attribute [rw] type + # The guardrail type. + # @return [String] + # + # @!attribute [rw] confidence + # The guardrail confidence. + # @return [String] + # + # @!attribute [rw] action + # The guardrail action. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailContentFilter AWS API Documentation + # + class GuardrailContentFilter < Struct.new( + :type, + :confidence, + :action) + SENSITIVE = [] + include Aws::Structure + end + + # An assessment of a content policy for a guardrail. + # + # @!attribute [rw] filters + # The content policy filters. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailContentPolicyAssessment AWS API Documentation + # + class GuardrailContentPolicyAssessment < Struct.new( + :filters) + SENSITIVE = [] + include Aws::Structure + end + + # A content block for selective guarding with the Converse API (Converse + # and ConverseStream). + # + # @note GuardrailConverseContentBlock is a union - when making an API calls you must set exactly one of the members. + # + # @note GuardrailConverseContentBlock is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of GuardrailConverseContentBlock corresponding to the set member. + # + # @!attribute [rw] text + # The text to guard. + # @return [Types::GuardrailConverseTextBlock] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailConverseContentBlock AWS API Documentation + # + class GuardrailConverseContentBlock < Struct.new( + :text, + :unknown) + SENSITIVE = [] + include Aws::Structure + include Aws::Structure::Union + + class Text < GuardrailConverseContentBlock; end + class Unknown < GuardrailConverseContentBlock; end + end + + # A text block that contains text that you want to assess with a + # guardrail. For more information, see GuardrailConverseContentBlock. + # + # @!attribute [rw] text + # The text that you want to guard. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailConverseTextBlock AWS API Documentation + # + class GuardrailConverseTextBlock < Struct.new( + :text) + SENSITIVE = [] + include Aws::Structure + end + + # A custom word configured in a guardrail. + # + # @!attribute [rw] match + # The match for the custom word. + # @return [String] + # + # @!attribute [rw] action + # The action for the custom word. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailCustomWord AWS API Documentation + # + class GuardrailCustomWord < Struct.new( + :match, + :action) + SENSITIVE = [] + include Aws::Structure + end + + # A managed word configured in a guardrail. + # + # @!attribute [rw] match + # The match for the managed word. + # @return [String] + # + # @!attribute [rw] type + # The type for the managed word. + # @return [String] + # + # @!attribute [rw] action + # The action for the managed word. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailManagedWord AWS API Documentation + # + class GuardrailManagedWord < Struct.new( + :match, + :type, + :action) + SENSITIVE = [] + include Aws::Structure + end + + # A Personally Identifiable Information (PII) entity configured in a + # guardrail. + # + # @!attribute [rw] match + # The PII entity filter match. + # @return [String] + # + # @!attribute [rw] type + # The PII entity filter type. + # @return [String] + # + # @!attribute [rw] action + # The PII entity filter action. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailPiiEntityFilter AWS API Documentation + # + class GuardrailPiiEntityFilter < Struct.new( + :match, + :type, + :action) + SENSITIVE = [] + include Aws::Structure + end + + # A Regex filter configured in a guardrail. + # + # @!attribute [rw] name + # The regex filter name. + # @return [String] + # + # @!attribute [rw] match + # The regesx filter match. + # @return [String] + # + # @!attribute [rw] regex + # The regex query. + # @return [String] + # + # @!attribute [rw] action + # The region filter action. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailRegexFilter AWS API Documentation + # + class GuardrailRegexFilter < Struct.new( + :name, + :match, + :regex, + :action) + SENSITIVE = [] + include Aws::Structure + end + + # The assessment for aPersonally Identifiable Information (PII) policy. + # + # @!attribute [rw] pii_entities + # The PII entities in the assessment. + # @return [Array] + # + # @!attribute [rw] regexes + # The regex queries in the assessment. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailSensitiveInformationPolicyAssessment AWS API Documentation + # + class GuardrailSensitiveInformationPolicyAssessment < Struct.new( + :pii_entities, + :regexes) + SENSITIVE = [] + include Aws::Structure + end + + # Configuration information for a guardrail that you use with the + # ConverseStream action. + # + # @!attribute [rw] guardrail_identifier + # The identifier for the guardrail. + # @return [String] + # + # @!attribute [rw] guardrail_version + # The version of the guardrail. + # @return [String] + # + # @!attribute [rw] trace + # The trace behavior for the guardrail. + # @return [String] + # + # @!attribute [rw] stream_processing_mode + # The processing mode. + # + # The processing mode. For more information, see *Configure streaming + # response behavior* in the *Amazon Bedrock User Guide*. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailStreamConfiguration AWS API Documentation + # + class GuardrailStreamConfiguration < Struct.new( + :guardrail_identifier, + :guardrail_version, + :trace, + :stream_processing_mode) + SENSITIVE = [] + include Aws::Structure + end + + # Information about a topic guardrail. + # + # @!attribute [rw] name + # The name for the guardrail. + # @return [String] + # + # @!attribute [rw] type + # The type behavior that the guardrail should perform when the model + # detects the topic. + # @return [String] + # + # @!attribute [rw] action + # The action the guardrail should take when it intervenes on a topic. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailTopic AWS API Documentation + # + class GuardrailTopic < Struct.new( + :name, + :type, + :action) + SENSITIVE = [] + include Aws::Structure + end + + # A behavior assessment of a topic policy. + # + # @!attribute [rw] topics + # The topics in the assessment. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailTopicPolicyAssessment AWS API Documentation + # + class GuardrailTopicPolicyAssessment < Struct.new( + :topics) + SENSITIVE = [] + include Aws::Structure + end + + # A Top level guardrail trace object. For more information, see + # ConverseTrace. + # + # @!attribute [rw] model_output + # The output from the model. + # @return [Array] + # + # @!attribute [rw] input_assessment + # The input assessment. + # @return [Hash] + # + # @!attribute [rw] output_assessments + # the output assessments. + # @return [Hash>] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailTraceAssessment AWS API Documentation + # + class GuardrailTraceAssessment < Struct.new( + :model_output, + :input_assessment, + :output_assessments) + SENSITIVE = [] + include Aws::Structure + end + + # The word policy assessment. + # + # @!attribute [rw] custom_words + # Custom words in the assessment. + # @return [Array] + # + # @!attribute [rw] managed_word_lists + # Managed word lists in the assessment. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/GuardrailWordPolicyAssessment AWS API Documentation + # + class GuardrailWordPolicyAssessment < Struct.new( + :custom_words, + :managed_word_lists) + SENSITIVE = [] + include Aws::Structure + end + # Image content for a message. # # @!attribute [rw] format @@ -559,25 +990,7 @@ class Unknown < ImageSource; end # The maximum number of tokens to allow in the generated response. The # default value is the maximum allowed value for the model that you # are using. For more information, see [Inference parameters for - # foundatio\\\{ "messages": \[ \\\{ "role": "user", "content": - # \[ \\\{ "text": "what's the weather in Queens, NY and Austin, - # TX?" \\} \] \\}, \\\{ "role": "assistant", "content": \[ \\\{ - # "toolUse": \\\{ "toolUseId": "1", "name": "get\_weather", - # "input": \\\{ "city": "Queens", "state": "NY" \\} \\} \\}, - # \\\{ "toolUse": \\\{ "toolUseId": "2", "name": - # "get\_weather", "input": \\\{ "city": "Austin", "state": - # "TX" \\} \\} \\} \] \\}, \\\{ "role": "user", "content": \[ - # \\\{ "toolResult": \\\{ "toolUseId": "2", "content": \[ \\\{ - # "json": \\\{ "weather": "40" \\} \\} \] \\} \\}, \\\{ - # "text": "..." \\}, \\\{ "toolResult": \\\{ "toolUseId": - # "1", "content": \[ \\\{ "text": "result text" \\} \] \\} \\} - # \] \\} \], "toolConfig": \\\{ "tools": \[ \\\{ "name": - # "get\_weather", "description": "Get weather", "inputSchema": - # \\\{ "type": "object", "properties": \\\{ "city": \\\{ - # "type": "string", "description": "City of location" \\}, - # "state": \\\{ "type": "string", "description": "State of - # location" \\} \\}, "required": \["city", "state"\] \\} \\} \] - # \\} \\} n models][1]. + # foundation models][1]. # # # @@ -646,10 +1059,10 @@ class InternalServerException < Struct.new( # @!attribute [rw] body # The prompt and inference parameters in the format specified in the - # `contentType` in the header. To see the format and content of the - # request and response bodies for different models, refer to - # [Inference parameters][1]. For more information, see [Run - # inference][2] in the Bedrock User Guide. + # `contentType` in the header. You must provide the body in JSON + # format. To see the format and content of the request and response + # bodies for different models, refer to [Inference parameters][1]. For + # more information, see [Run inference][2] in the Bedrock User Guide. # # # @@ -658,7 +1071,7 @@ class InternalServerException < Struct.new( # @return [String] # # @!attribute [rw] content_type - # The MIME type of the input data in the request. The default value is + # The MIME type of the input data in the request. You must specify # `application/json`. # @return [String] # @@ -757,10 +1170,10 @@ class InvokeModelResponse < Struct.new( # @!attribute [rw] body # The prompt and inference parameters in the format specified in the - # `contentType` in the header. To see the format and content of the - # request and response bodies for different models, refer to - # [Inference parameters][1]. For more information, see [Run - # inference][2] in the Bedrock User Guide. + # `contentType` in the header. You must provide the body in JSON + # format. To see the format and content of the request and response + # bodies for different models, refer to [Inference parameters][1]. For + # more information, see [Run inference][2] in the Bedrock User Guide. # # # @@ -769,7 +1182,7 @@ class InvokeModelResponse < Struct.new( # @return [String] # # @!attribute [rw] content_type - # The MIME type of the input data in the request. The default value is + # The MIME type of the input data in the request. You must specify # `application/json`. # @return [String] # @@ -865,13 +1278,13 @@ class InvokeModelWithResponseStreamResponse < Struct.new( include Aws::Structure end - # A message in the [Message][1] field. Use to send a message in a call - # to [Converse][2]. + # A message input, or returned from, a call to [Converse][1] or + # [ConverseStream][2]. # # # - # [1]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Message.html - # [2]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html + # [1]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html + # [2]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html # # @!attribute [rw] role # The role that the message plays in the message. @@ -1044,7 +1457,8 @@ class ServiceQuotaExceededException < Struct.new( include Aws::Structure end - # The model must request a specific tool. + # The model must request a specific tool. For example, `\{"tool" : + # \{"name" : "Your tool name"\}\}`. # # This field is only supported by Anthropic Claude 3 models. # @@ -1062,7 +1476,7 @@ class SpecificToolChoice < Struct.new( include Aws::Structure end - # A system content block + # A system content block. # # @note SystemContentBlock is a union - when making an API calls you must set exactly one of the members. # @@ -1070,16 +1484,26 @@ class SpecificToolChoice < Struct.new( # A system prompt for the model. # @return [String] # + # @!attribute [rw] guard_content + # A content block to assess with the guardrail. Use with the Converse + # API (Converse and ConverseStream). + # + # For more information, see *Use a guardrail with the Converse API* in + # the *Amazon Bedrock User Guide*. + # @return [Types::GuardrailConverseContentBlock] + # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/SystemContentBlock AWS API Documentation # class SystemContentBlock < Struct.new( :text, + :guard_content, :unknown) SENSITIVE = [] include Aws::Structure include Aws::Structure::Union class Text < SystemContentBlock; end + class GuardContent < SystemContentBlock; end class Unknown < SystemContentBlock; end end @@ -1142,13 +1566,15 @@ class ToolSpec < Tool; end class Unknown < Tool; end end - # Forces a model to use a tool. + # Determines which tools the model should request in a call to + # `Converse` or `ConverseStream`. `ToolChoice` is only supported by + # Anthropic Claude 3 models and by Mistral AI Mistral Large. # # @note ToolChoice is a union - when making an API calls you must set exactly one of the members. # # @!attribute [rw] auto - # The Model automatically decides if a tool should be called or to - # whether to generate text instead. + # (Default). The Model automatically decides if a tool should be + # called or whether to generate text instead. # @return [Types::AutoToolChoice] # # @!attribute [rw] any @@ -1156,7 +1582,8 @@ class Unknown < Tool; end # @return [Types::AnyToolChoice] # # @!attribute [rw] tool - # The Model must request the specified tool. + # The Model must request the specified tool. Only supported by + # Anthropic Claude 3 models. # @return [Types::SpecificToolChoice] # # @see http://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30/ToolChoice AWS API Documentation diff --git a/gems/aws-sdk-bedrockruntime/sig/client.rbs b/gems/aws-sdk-bedrockruntime/sig/client.rbs index deefbac78ef..a53bbf2f6dd 100644 --- a/gems/aws-sdk-bedrockruntime/sig/client.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/client.rbs @@ -78,10 +78,11 @@ module Aws interface _ConverseResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ConverseResponse] def output: () -> Types::ConverseOutput - def stop_reason: () -> ("end_turn" | "tool_use" | "max_tokens" | "stop_sequence" | "content_filtered") + def stop_reason: () -> ("end_turn" | "tool_use" | "max_tokens" | "stop_sequence" | "guardrail_intervened" | "content_filtered") def usage: () -> Types::TokenUsage def metrics: () -> Types::ConverseMetrics def additional_model_response_fields: () -> untyped + def trace: () -> Types::ConverseTrace end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/BedrockRuntime/Client.html#converse-instance_method def converse: ( @@ -120,6 +121,11 @@ module Aws }, ], status: ("success" | "error")? + }?, + guard_content: { + text: { + text: ::String + }? }? }, ] @@ -127,7 +133,12 @@ module Aws ], ?system: Array[ { - text: ::String? + text: ::String?, + guard_content: { + text: { + text: ::String + }? + }? }, ], ?inference_config: { @@ -159,6 +170,11 @@ module Aws }? }? }, + ?guardrail_config: { + guardrail_identifier: ::String, + guardrail_version: ::String, + trace: ("enabled" | "disabled")? + }, ?additional_model_request_fields: { }, ?additional_model_response_field_paths: Array[::String] @@ -206,6 +222,11 @@ module Aws }, ], status: ("success" | "error")? + }?, + guard_content: { + text: { + text: ::String + }? }? }, ] @@ -213,7 +234,12 @@ module Aws ], ?system: Array[ { - text: ::String? + text: ::String?, + guard_content: { + text: { + text: ::String + }? + }? }, ], ?inference_config: { @@ -245,6 +271,12 @@ module Aws }? }? }, + ?guardrail_config: { + guardrail_identifier: ::String, + guardrail_version: ::String, + trace: ("enabled" | "disabled")?, + stream_processing_mode: ("sync" | "async")? + }, ?additional_model_request_fields: { }, ?additional_model_response_field_paths: Array[::String] diff --git a/gems/aws-sdk-bedrockruntime/sig/types.rbs b/gems/aws-sdk-bedrockruntime/sig/types.rbs index 4b358e2b20c..a85610d6097 100644 --- a/gems/aws-sdk-bedrockruntime/sig/types.rbs +++ b/gems/aws-sdk-bedrockruntime/sig/types.rbs @@ -24,6 +24,7 @@ module Aws::BedrockRuntime attr_accessor image: Types::ImageBlock attr_accessor tool_use: Types::ToolUseBlock attr_accessor tool_result: Types::ToolResultBlock + attr_accessor guard_content: Types::GuardrailConverseContentBlock attr_accessor unknown: untyped SENSITIVE: [] @@ -35,6 +36,8 @@ module Aws::BedrockRuntime end class ToolResult < ContentBlock end + class GuardContent < ContentBlock + end class Unknown < ContentBlock end end @@ -106,6 +109,7 @@ module Aws::BedrockRuntime attr_accessor system: ::Array[Types::SystemContentBlock] attr_accessor inference_config: Types::InferenceConfiguration attr_accessor tool_config: Types::ToolConfiguration + attr_accessor guardrail_config: Types::GuardrailConfiguration attr_accessor additional_model_request_fields: untyped attr_accessor additional_model_response_field_paths: ::Array[::String] SENSITIVE: [] @@ -113,16 +117,18 @@ module Aws::BedrockRuntime class ConverseResponse attr_accessor output: Types::ConverseOutput - attr_accessor stop_reason: ("end_turn" | "tool_use" | "max_tokens" | "stop_sequence" | "content_filtered") + attr_accessor stop_reason: ("end_turn" | "tool_use" | "max_tokens" | "stop_sequence" | "guardrail_intervened" | "content_filtered") attr_accessor usage: Types::TokenUsage attr_accessor metrics: Types::ConverseMetrics attr_accessor additional_model_response_fields: untyped + attr_accessor trace: Types::ConverseTrace SENSITIVE: [] end class ConverseStreamMetadataEvent attr_accessor usage: Types::TokenUsage attr_accessor metrics: Types::ConverseStreamMetrics + attr_accessor trace: Types::ConverseStreamTrace attr_accessor event_type: untyped SENSITIVE: [] end @@ -138,6 +144,7 @@ module Aws::BedrockRuntime attr_accessor system: ::Array[Types::SystemContentBlock] attr_accessor inference_config: Types::InferenceConfiguration attr_accessor tool_config: Types::ToolConfiguration + attr_accessor guardrail_config: Types::GuardrailStreamConfiguration attr_accessor additional_model_request_fields: untyped attr_accessor additional_model_response_field_paths: ::Array[::String] SENSITIVE: [] @@ -148,6 +155,126 @@ module Aws::BedrockRuntime SENSITIVE: [] end + class ConverseStreamTrace + attr_accessor guardrail: Types::GuardrailTraceAssessment + SENSITIVE: [] + end + + class ConverseTrace + attr_accessor guardrail: Types::GuardrailTraceAssessment + SENSITIVE: [] + end + + class GuardrailAssessment + attr_accessor topic_policy: Types::GuardrailTopicPolicyAssessment + attr_accessor content_policy: Types::GuardrailContentPolicyAssessment + attr_accessor word_policy: Types::GuardrailWordPolicyAssessment + attr_accessor sensitive_information_policy: Types::GuardrailSensitiveInformationPolicyAssessment + SENSITIVE: [] + end + + class GuardrailConfiguration + attr_accessor guardrail_identifier: ::String + attr_accessor guardrail_version: ::String + attr_accessor trace: ("enabled" | "disabled") + SENSITIVE: [] + end + + class GuardrailContentFilter + attr_accessor type: ("INSULTS" | "HATE" | "SEXUAL" | "VIOLENCE" | "MISCONDUCT" | "PROMPT_ATTACK") + attr_accessor confidence: ("NONE" | "LOW" | "MEDIUM" | "HIGH") + attr_accessor action: ("BLOCKED") + SENSITIVE: [] + end + + class GuardrailContentPolicyAssessment + attr_accessor filters: ::Array[Types::GuardrailContentFilter] + SENSITIVE: [] + end + + class GuardrailConverseContentBlock + attr_accessor text: Types::GuardrailConverseTextBlock + attr_accessor unknown: untyped + SENSITIVE: [] + + class Text < GuardrailConverseContentBlock + end + class Unknown < GuardrailConverseContentBlock + end + end + + class GuardrailConverseTextBlock + attr_accessor text: ::String + SENSITIVE: [] + end + + class GuardrailCustomWord + attr_accessor match: ::String + attr_accessor action: ("BLOCKED") + SENSITIVE: [] + end + + class GuardrailManagedWord + attr_accessor match: ::String + attr_accessor type: ("PROFANITY") + attr_accessor action: ("BLOCKED") + SENSITIVE: [] + end + + class GuardrailPiiEntityFilter + attr_accessor match: ::String + attr_accessor type: ("ADDRESS" | "AGE" | "AWS_ACCESS_KEY" | "AWS_SECRET_KEY" | "CA_HEALTH_NUMBER" | "CA_SOCIAL_INSURANCE_NUMBER" | "CREDIT_DEBIT_CARD_CVV" | "CREDIT_DEBIT_CARD_EXPIRY" | "CREDIT_DEBIT_CARD_NUMBER" | "DRIVER_ID" | "EMAIL" | "INTERNATIONAL_BANK_ACCOUNT_NUMBER" | "IP_ADDRESS" | "LICENSE_PLATE" | "MAC_ADDRESS" | "NAME" | "PASSWORD" | "PHONE" | "PIN" | "SWIFT_CODE" | "UK_NATIONAL_HEALTH_SERVICE_NUMBER" | "UK_NATIONAL_INSURANCE_NUMBER" | "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER" | "URL" | "USERNAME" | "US_BANK_ACCOUNT_NUMBER" | "US_BANK_ROUTING_NUMBER" | "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER" | "US_PASSPORT_NUMBER" | "US_SOCIAL_SECURITY_NUMBER" | "VEHICLE_IDENTIFICATION_NUMBER") + attr_accessor action: ("ANONYMIZED" | "BLOCKED") + SENSITIVE: [] + end + + class GuardrailRegexFilter + attr_accessor name: ::String + attr_accessor match: ::String + attr_accessor regex: ::String + attr_accessor action: ("ANONYMIZED" | "BLOCKED") + SENSITIVE: [] + end + + class GuardrailSensitiveInformationPolicyAssessment + attr_accessor pii_entities: ::Array[Types::GuardrailPiiEntityFilter] + attr_accessor regexes: ::Array[Types::GuardrailRegexFilter] + SENSITIVE: [] + end + + class GuardrailStreamConfiguration + attr_accessor guardrail_identifier: ::String + attr_accessor guardrail_version: ::String + attr_accessor trace: ("enabled" | "disabled") + attr_accessor stream_processing_mode: ("sync" | "async") + SENSITIVE: [] + end + + class GuardrailTopic + attr_accessor name: ::String + attr_accessor type: ("DENY") + attr_accessor action: ("BLOCKED") + SENSITIVE: [] + end + + class GuardrailTopicPolicyAssessment + attr_accessor topics: ::Array[Types::GuardrailTopic] + SENSITIVE: [] + end + + class GuardrailTraceAssessment + attr_accessor model_output: ::Array[::String] + attr_accessor input_assessment: ::Hash[::String, Types::GuardrailAssessment] + attr_accessor output_assessments: ::Hash[::String, ::Array[Types::GuardrailAssessment]] + SENSITIVE: [] + end + + class GuardrailWordPolicyAssessment + attr_accessor custom_words: ::Array[Types::GuardrailCustomWord] + attr_accessor managed_word_lists: ::Array[Types::GuardrailManagedWord] + SENSITIVE: [] + end + class ImageBlock attr_accessor format: ("png" | "jpeg" | "gif" | "webp") attr_accessor source: Types::ImageSource @@ -226,7 +353,7 @@ module Aws::BedrockRuntime end class MessageStopEvent - attr_accessor stop_reason: ("end_turn" | "tool_use" | "max_tokens" | "stop_sequence" | "content_filtered") + attr_accessor stop_reason: ("end_turn" | "tool_use" | "max_tokens" | "stop_sequence" | "guardrail_intervened" | "content_filtered") attr_accessor additional_model_response_fields: untyped attr_accessor event_type: untyped SENSITIVE: [] @@ -281,11 +408,14 @@ module Aws::BedrockRuntime class SystemContentBlock attr_accessor text: ::String + attr_accessor guard_content: Types::GuardrailConverseContentBlock attr_accessor unknown: untyped SENSITIVE: [] class Text < SystemContentBlock end + class GuardContent < SystemContentBlock + end class Unknown < SystemContentBlock end end diff --git a/gems/aws-sdk-cloudtrail/CHANGELOG.md b/gems/aws-sdk-cloudtrail/CHANGELOG.md index b7d48a02808..9ebee6c7eb0 100644 --- a/gems/aws-sdk-cloudtrail/CHANGELOG.md +++ b/gems/aws-sdk-cloudtrail/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.82.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.81.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-cloudtrail/VERSION b/gems/aws-sdk-cloudtrail/VERSION index dbd41264aa9..71fae54fb27 100644 --- a/gems/aws-sdk-cloudtrail/VERSION +++ b/gems/aws-sdk-cloudtrail/VERSION @@ -1 +1 @@ -1.81.0 +1.82.0 diff --git a/gems/aws-sdk-cloudtrail/features/smoke.feature b/gems/aws-sdk-cloudtrail/features/smoke.feature new file mode 100644 index 00000000000..70c806d1629 --- /dev/null +++ b/gems/aws-sdk-cloudtrail/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for CloudTrail + + @cloudtrail @smoke + Scenario: DescribeTrailsSuccess + Given I create a 'Aws::CloudTrail' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_trails' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb index 2c99398cbfd..a46fc7dba4c 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail.rb @@ -52,6 +52,6 @@ # @!group service module Aws::CloudTrail - GEM_VERSION = '1.81.0' + GEM_VERSION = '1.82.0' end diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb index 2dff3908dc0..9fcd1feebbe 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client.rb @@ -3882,7 +3882,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-cloudtrail' - context[:gem_version] = '1.81.0' + context[:gem_version] = '1.82.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb index c47ef224bd5..e806d9e6190 100644 --- a/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb +++ b/gems/aws-sdk-cloudtrail/lib/aws-sdk-cloudtrail/client_api.rb @@ -1264,6 +1264,7 @@ module ClientApi api.metadata = { "apiVersion" => "2013-11-01", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "cloudtrail", "jsonVersion" => "1.1", "protocol" => "json", diff --git a/gems/aws-sdk-configservice/CHANGELOG.md b/gems/aws-sdk-configservice/CHANGELOG.md index fb5dd11204d..613a0b25235 100644 --- a/gems/aws-sdk-configservice/CHANGELOG.md +++ b/gems/aws-sdk-configservice/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.110.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.109.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-configservice/VERSION b/gems/aws-sdk-configservice/VERSION index 938d55c5464..1916b6b587d 100644 --- a/gems/aws-sdk-configservice/VERSION +++ b/gems/aws-sdk-configservice/VERSION @@ -1 +1 @@ -1.109.0 +1.110.0 diff --git a/gems/aws-sdk-configservice/features/smoke.feature b/gems/aws-sdk-configservice/features/smoke.feature new file mode 100644 index 00000000000..c7ad1229e45 --- /dev/null +++ b/gems/aws-sdk-configservice/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for ConfigService + + @configservice @smoke + Scenario: DescribeConfigurationRecordersSuccess + Given I create a 'Aws::ConfigService' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_configuration_recorders' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-configservice/lib/aws-sdk-configservice.rb b/gems/aws-sdk-configservice/lib/aws-sdk-configservice.rb index 5788d822824..25045a1d4ff 100644 --- a/gems/aws-sdk-configservice/lib/aws-sdk-configservice.rb +++ b/gems/aws-sdk-configservice/lib/aws-sdk-configservice.rb @@ -52,6 +52,6 @@ # @!group service module Aws::ConfigService - GEM_VERSION = '1.109.0' + GEM_VERSION = '1.110.0' end diff --git a/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client.rb b/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client.rb index 4576a51c3a1..2ba177bff8f 100644 --- a/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client.rb +++ b/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client.rb @@ -5898,7 +5898,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-configservice' - context[:gem_version] = '1.109.0' + context[:gem_version] = '1.110.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client_api.rb b/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client_api.rb index 5acd2afb833..c6f6f05342b 100644 --- a/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client_api.rb +++ b/gems/aws-sdk-configservice/lib/aws-sdk-configservice/client_api.rb @@ -2238,9 +2238,11 @@ module ClientApi api.metadata = { "apiVersion" => "2014-11-12", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "config", "jsonVersion" => "1.1", "protocol" => "json", + "protocols" => ["json"], "serviceAbbreviation" => "Config Service", "serviceFullName" => "AWS Config", "serviceId" => "Config Service", diff --git a/gems/aws-sdk-eks/CHANGELOG.md b/gems/aws-sdk-eks/CHANGELOG.md index bdce0c1c8af..b67c497d75b 100644 --- a/gems/aws-sdk-eks/CHANGELOG.md +++ b/gems/aws-sdk-eks/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.105.0 (2024-06-18) +------------------ + +* Feature - This release adds support to surface async fargate customer errors from async path to customer through describe-fargate-profile API response. + 1.104.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-eks/VERSION b/gems/aws-sdk-eks/VERSION index 9f0b4661158..e38c0a0f75c 100644 --- a/gems/aws-sdk-eks/VERSION +++ b/gems/aws-sdk-eks/VERSION @@ -1 +1 @@ -1.104.0 +1.105.0 diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks.rb index 3cf71b02e21..1d4bd52ea0e 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks.rb @@ -53,6 +53,6 @@ # @!group service module Aws::EKS - GEM_VERSION = '1.104.0' + GEM_VERSION = '1.105.0' end diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb index ea39916902a..148d83330e6 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/client.rb @@ -1435,6 +1435,11 @@ def create_eks_anywhere_subscription(params = {}, options = {}) # resp.fargate_profile.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "CREATE_FAILED", "DELETE_FAILED" # resp.fargate_profile.tags #=> Hash # resp.fargate_profile.tags["TagKey"] #=> String + # resp.fargate_profile.health.issues #=> Array + # resp.fargate_profile.health.issues[0].code #=> String, one of "PodExecutionRoleAlreadyInUse", "AccessDenied", "ClusterUnreachable", "InternalFailure" + # resp.fargate_profile.health.issues[0].message #=> String + # resp.fargate_profile.health.issues[0].resource_ids #=> Array + # resp.fargate_profile.health.issues[0].resource_ids[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/CreateFargateProfile AWS API Documentation # @@ -2162,6 +2167,11 @@ def delete_eks_anywhere_subscription(params = {}, options = {}) # resp.fargate_profile.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "CREATE_FAILED", "DELETE_FAILED" # resp.fargate_profile.tags #=> Hash # resp.fargate_profile.tags["TagKey"] #=> String + # resp.fargate_profile.health.issues #=> Array + # resp.fargate_profile.health.issues[0].code #=> String, one of "PodExecutionRoleAlreadyInUse", "AccessDenied", "ClusterUnreachable", "InternalFailure" + # resp.fargate_profile.health.issues[0].message #=> String + # resp.fargate_profile.health.issues[0].resource_ids #=> Array + # resp.fargate_profile.health.issues[0].resource_ids[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/DeleteFargateProfile AWS API Documentation # @@ -2843,6 +2853,11 @@ def describe_eks_anywhere_subscription(params = {}, options = {}) # resp.fargate_profile.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "CREATE_FAILED", "DELETE_FAILED" # resp.fargate_profile.tags #=> Hash # resp.fargate_profile.tags["TagKey"] #=> String + # resp.fargate_profile.health.issues #=> Array + # resp.fargate_profile.health.issues[0].code #=> String, one of "PodExecutionRoleAlreadyInUse", "AccessDenied", "ClusterUnreachable", "InternalFailure" + # resp.fargate_profile.health.issues[0].message #=> String + # resp.fargate_profile.health.issues[0].resource_ids #=> Array + # resp.fargate_profile.health.issues[0].resource_ids[0] #=> String # # # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage): @@ -5043,7 +5058,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-eks' - context[:gem_version] = '1.104.0' + context[:gem_version] = '1.105.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb index 4c7dc47e4f5..693cde9bba5 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/client_api.rb @@ -149,6 +149,10 @@ module ClientApi ErrorDetail = Shapes::StructureShape.new(name: 'ErrorDetail') ErrorDetails = Shapes::ListShape.new(name: 'ErrorDetails') FargateProfile = Shapes::StructureShape.new(name: 'FargateProfile') + FargateProfileHealth = Shapes::StructureShape.new(name: 'FargateProfileHealth') + FargateProfileIssue = Shapes::StructureShape.new(name: 'FargateProfileIssue') + FargateProfileIssueCode = Shapes::StringShape.new(name: 'FargateProfileIssueCode') + FargateProfileIssueList = Shapes::ListShape.new(name: 'FargateProfileIssueList') FargateProfileLabel = Shapes::MapShape.new(name: 'FargateProfileLabel') FargateProfileSelector = Shapes::StructureShape.new(name: 'FargateProfileSelector') FargateProfileSelectors = Shapes::ListShape.new(name: 'FargateProfileSelectors') @@ -833,8 +837,19 @@ module ClientApi FargateProfile.add_member(:selectors, Shapes::ShapeRef.new(shape: FargateProfileSelectors, location_name: "selectors")) FargateProfile.add_member(:status, Shapes::ShapeRef.new(shape: FargateProfileStatus, location_name: "status")) FargateProfile.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags")) + FargateProfile.add_member(:health, Shapes::ShapeRef.new(shape: FargateProfileHealth, location_name: "health")) FargateProfile.struct_class = Types::FargateProfile + FargateProfileHealth.add_member(:issues, Shapes::ShapeRef.new(shape: FargateProfileIssueList, location_name: "issues")) + FargateProfileHealth.struct_class = Types::FargateProfileHealth + + FargateProfileIssue.add_member(:code, Shapes::ShapeRef.new(shape: FargateProfileIssueCode, location_name: "code")) + FargateProfileIssue.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message")) + FargateProfileIssue.add_member(:resource_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "resourceIds")) + FargateProfileIssue.struct_class = Types::FargateProfileIssue + + FargateProfileIssueList.member = Shapes::ShapeRef.new(shape: FargateProfileIssue) + FargateProfileLabel.key = Shapes::ShapeRef.new(shape: String) FargateProfileLabel.value = Shapes::ShapeRef.new(shape: String) @@ -1401,6 +1416,7 @@ module ClientApi api.metadata = { "apiVersion" => "2017-11-01", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "eks", "jsonVersion" => "1.1", "protocol" => "rest-json", diff --git a/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb b/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb index de36811a1b7..0aa9c9e8be0 100644 --- a/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb +++ b/gems/aws-sdk-eks/lib/aws-sdk-eks/types.rb @@ -2959,6 +2959,11 @@ class ErrorDetail < Struct.new( # resources. # @return [Hash] # + # @!attribute [rw] health + # The health status of the Fargate profile. If there are issues with + # your Fargate profile's health, they are listed here. + # @return [Types::FargateProfileHealth] + # # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfile AWS API Documentation # class FargateProfile < Struct.new( @@ -2970,7 +2975,47 @@ class FargateProfile < Struct.new( :subnets, :selectors, :status, - :tags) + :tags, + :health) + SENSITIVE = [] + include Aws::Structure + end + + # The health status of the Fargate profile. If there are issues with + # your Fargate profile's health, they are listed here. + # + # @!attribute [rw] issues + # Any issues that are associated with the Fargate profile. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfileHealth AWS API Documentation + # + class FargateProfileHealth < Struct.new( + :issues) + SENSITIVE = [] + include Aws::Structure + end + + # An issue that is associated with the Fargate profile. + # + # @!attribute [rw] code + # A brief description of the error. + # @return [String] + # + # @!attribute [rw] message + # The error message associated with the issue. + # @return [String] + # + # @!attribute [rw] resource_ids + # The Amazon Web Services resources that are affected by this issue. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/eks-2017-11-01/FargateProfileIssue AWS API Documentation + # + class FargateProfileIssue < Struct.new( + :code, + :message, + :resource_ids) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-eks/sig/types.rbs b/gems/aws-sdk-eks/sig/types.rbs index b852f906aac..84899ebe5a6 100644 --- a/gems/aws-sdk-eks/sig/types.rbs +++ b/gems/aws-sdk-eks/sig/types.rbs @@ -690,6 +690,19 @@ module Aws::EKS attr_accessor selectors: ::Array[Types::FargateProfileSelector] attr_accessor status: ("CREATING" | "ACTIVE" | "DELETING" | "CREATE_FAILED" | "DELETE_FAILED") attr_accessor tags: ::Hash[::String, ::String] + attr_accessor health: Types::FargateProfileHealth + SENSITIVE: [] + end + + class FargateProfileHealth + attr_accessor issues: ::Array[Types::FargateProfileIssue] + SENSITIVE: [] + end + + class FargateProfileIssue + attr_accessor code: ("PodExecutionRoleAlreadyInUse" | "AccessDenied" | "ClusterUnreachable" | "InternalFailure") + attr_accessor message: ::String + attr_accessor resource_ids: ::Array[::String] SENSITIVE: [] end diff --git a/gems/aws-sdk-lightsail/CHANGELOG.md b/gems/aws-sdk-lightsail/CHANGELOG.md index 9b7a1a0a98e..435c4833d84 100644 --- a/gems/aws-sdk-lightsail/CHANGELOG.md +++ b/gems/aws-sdk-lightsail/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.93.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.92.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-lightsail/VERSION b/gems/aws-sdk-lightsail/VERSION index 7f229af9647..95784efddbc 100644 --- a/gems/aws-sdk-lightsail/VERSION +++ b/gems/aws-sdk-lightsail/VERSION @@ -1 +1 @@ -1.92.0 +1.93.0 diff --git a/gems/aws-sdk-lightsail/features/smoke.feature b/gems/aws-sdk-lightsail/features/smoke.feature new file mode 100644 index 00000000000..83047c6d67b --- /dev/null +++ b/gems/aws-sdk-lightsail/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Lightsail + + @lightsail @smoke + Scenario: GetActiveNamesSuccess + Given I create a 'Aws::Lightsail' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'get_active_names' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail.rb b/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail.rb index 567c14a6459..792d58f3003 100644 --- a/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail.rb +++ b/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Lightsail - GEM_VERSION = '1.92.0' + GEM_VERSION = '1.93.0' end diff --git a/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb b/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb index a3e9063b82a..30f77de8d7a 100644 --- a/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb +++ b/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb @@ -12412,7 +12412,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-lightsail' - context[:gem_version] = '1.92.0' + context[:gem_version] = '1.93.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client_api.rb b/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client_api.rb index b4d5234eaea..1bca5492818 100644 --- a/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client_api.rb +++ b/gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client_api.rb @@ -3134,6 +3134,7 @@ module ClientApi api.metadata = { "apiVersion" => "2016-11-28", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "lightsail", "jsonVersion" => "1.1", "protocol" => "json", diff --git a/gems/aws-sdk-polly/CHANGELOG.md b/gems/aws-sdk-polly/CHANGELOG.md index 93328526201..c86965eae5c 100644 --- a/gems/aws-sdk-polly/CHANGELOG.md +++ b/gems/aws-sdk-polly/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.87.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.86.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-polly/VERSION b/gems/aws-sdk-polly/VERSION index b7844a6ffdc..f6342716723 100644 --- a/gems/aws-sdk-polly/VERSION +++ b/gems/aws-sdk-polly/VERSION @@ -1 +1 @@ -1.86.0 +1.87.0 diff --git a/gems/aws-sdk-polly/features/smoke.feature b/gems/aws-sdk-polly/features/smoke.feature new file mode 100644 index 00000000000..2b73ac6c668 --- /dev/null +++ b/gems/aws-sdk-polly/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Polly + + @polly @smoke + Scenario: DescribeVoicesSuccess + Given I create a 'Aws::Polly' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_voices' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-polly/lib/aws-sdk-polly.rb b/gems/aws-sdk-polly/lib/aws-sdk-polly.rb index 90c23b2f442..856a7eb791a 100644 --- a/gems/aws-sdk-polly/lib/aws-sdk-polly.rb +++ b/gems/aws-sdk-polly/lib/aws-sdk-polly.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Polly - GEM_VERSION = '1.86.0' + GEM_VERSION = '1.87.0' end diff --git a/gems/aws-sdk-polly/lib/aws-sdk-polly/client.rb b/gems/aws-sdk-polly/lib/aws-sdk-polly/client.rb index 750c0ba858c..a0813953977 100644 --- a/gems/aws-sdk-polly/lib/aws-sdk-polly/client.rb +++ b/gems/aws-sdk-polly/lib/aws-sdk-polly/client.rb @@ -1170,7 +1170,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-polly' - context[:gem_version] = '1.86.0' + context[:gem_version] = '1.87.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-polly/lib/aws-sdk-polly/client_api.rb b/gems/aws-sdk-polly/lib/aws-sdk-polly/client_api.rb index 8ebb372d5ef..58816cc15af 100644 --- a/gems/aws-sdk-polly/lib/aws-sdk-polly/client_api.rb +++ b/gems/aws-sdk-polly/lib/aws-sdk-polly/client_api.rb @@ -310,8 +310,10 @@ module ClientApi api.metadata = { "apiVersion" => "2016-06-10", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "polly", "protocol" => "rest-json", + "protocols" => ["rest-json"], "serviceFullName" => "Amazon Polly", "serviceId" => "Polly", "signatureVersion" => "v4", diff --git a/gems/aws-sdk-rekognition/CHANGELOG.md b/gems/aws-sdk-rekognition/CHANGELOG.md index c9a5656662d..971de28feba 100644 --- a/gems/aws-sdk-rekognition/CHANGELOG.md +++ b/gems/aws-sdk-rekognition/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.98.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.97.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-rekognition/VERSION b/gems/aws-sdk-rekognition/VERSION index acbb747ac54..783fda86436 100644 --- a/gems/aws-sdk-rekognition/VERSION +++ b/gems/aws-sdk-rekognition/VERSION @@ -1 +1 @@ -1.97.0 +1.98.0 diff --git a/gems/aws-sdk-rekognition/features/smoke.feature b/gems/aws-sdk-rekognition/features/smoke.feature new file mode 100644 index 00000000000..fd975bbacc0 --- /dev/null +++ b/gems/aws-sdk-rekognition/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Rekognition + + @rekognition @smoke + Scenario: ListCollectionsSuccess + Given I create a 'Aws::Rekognition' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'list_collections' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition.rb b/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition.rb index 774f21dd157..74cca5d2c40 100644 --- a/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition.rb +++ b/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition.rb @@ -53,6 +53,6 @@ # @!group service module Aws::Rekognition - GEM_VERSION = '1.97.0' + GEM_VERSION = '1.98.0' end diff --git a/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client.rb b/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client.rb index 1bbb0d4f079..780156b5411 100644 --- a/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client.rb +++ b/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client.rb @@ -8405,7 +8405,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-rekognition' - context[:gem_version] = '1.97.0' + context[:gem_version] = '1.98.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client_api.rb b/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client_api.rb index e1f949a86fb..da668d9f6ae 100644 --- a/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client_api.rb +++ b/gems/aws-sdk-rekognition/lib/aws-sdk-rekognition/client_api.rb @@ -2244,9 +2244,11 @@ module ClientApi api.metadata = { "apiVersion" => "2016-06-27", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "rekognition", "jsonVersion" => "1.1", "protocol" => "json", + "protocols" => ["json"], "serviceFullName" => "Amazon Rekognition", "serviceId" => "Rekognition", "signatureVersion" => "v4", diff --git a/gems/aws-sdk-sagemaker/CHANGELOG.md b/gems/aws-sdk-sagemaker/CHANGELOG.md index e928ddf7df3..d682e5bca47 100644 --- a/gems/aws-sdk-sagemaker/CHANGELOG.md +++ b/gems/aws-sdk-sagemaker/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.247.0 (2024-06-18) +------------------ + +* Feature - Launched a new feature in SageMaker to provide managed MLflow Tracking Servers for customers to track ML experiments. This release also adds a new capability of attaching additional storage to SageMaker HyperPod cluster instances. + 1.246.0 (2024-06-07) ------------------ diff --git a/gems/aws-sdk-sagemaker/VERSION b/gems/aws-sdk-sagemaker/VERSION index b563216e5c9..b68c3465bb1 100644 --- a/gems/aws-sdk-sagemaker/VERSION +++ b/gems/aws-sdk-sagemaker/VERSION @@ -1 +1 @@ -1.246.0 +1.247.0 diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker.rb index 0d937370957..5664225bb38 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.246.0' + GEM_VERSION = '1.247.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 e8e3d356e28..a3080c99c8f 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/client.rb @@ -1814,6 +1814,13 @@ def create_auto_ml_job_v2(params = {}, options = {}) # }, # execution_role: "RoleArn", # required # threads_per_core: 1, + # instance_storage_configs: [ + # { + # ebs_volume_config: { + # volume_size_in_gb: 1, # required + # }, + # }, + # ], # }, # ], # vpc_config: { @@ -5401,6 +5408,103 @@ def create_labeling_job(params = {}, options = {}) req.send_request(options) end + # Creates an MLflow Tracking Server using a general purpose Amazon S3 + # bucket as the artifact store. For more information, see [Create an + # MLflow Tracking Server][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server.html + # + # @option params [required, String] :tracking_server_name + # A unique string identifying the tracking server name. This string is + # part of the tracking server ARN. + # + # @option params [required, String] :artifact_store_uri + # The S3 URI for a general purpose bucket to use as the MLflow Tracking + # Server artifact store. + # + # @option params [String] :tracking_server_size + # The size of the tracking server you want to create. You can choose + # between `"Small"`, `"Medium"`, and `"Large"`. The default MLflow + # Tracking Server configuration size is `"Small"`. You can choose a size + # depending on the projected use of the tracking server such as the + # volume of data logged, number of users, and frequency of use. + # + # We recommend using a small tracking server for teams of up to 25 + # users, a medium tracking server for teams of up to 50 users, and a + # large tracking server for teams of up to 100 users. + # + # @option params [String] :mlflow_version + # The version of MLflow that the tracking server uses. To see which + # MLflow versions are available to use, see [How it works][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works + # + # @option params [required, String] :role_arn + # The Amazon Resource Name (ARN) for an IAM role in your account that + # the MLflow Tracking Server uses to access the artifact store in Amazon + # S3. The role should have `AmazonS3FullAccess` permissions. For more + # information on IAM permissions for tracking server creation, see [Set + # up IAM permissions for MLflow][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html + # + # @option params [Boolean] :automatic_model_registration + # Whether to enable or disable automatic registration of new MLflow + # models to the SageMaker Model Registry. To enable automatic model + # registration, set this value to `True`. To disable automatic model + # registration, set this value to `False`. If not specified, + # `AutomaticModelRegistration` defaults to `False`. + # + # @option params [String] :weekly_maintenance_window_start + # The day and time of the week in Coordinated Universal Time (UTC) + # 24-hour standard time that weekly maintenance updates are scheduled. + # For example: TUE:03:30. + # + # @option params [Array] :tags + # Tags consisting of key-value pairs used to manage metadata for the + # tracking server. + # + # @return [Types::CreateMlflowTrackingServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CreateMlflowTrackingServerResponse#tracking_server_arn #tracking_server_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.create_mlflow_tracking_server({ + # tracking_server_name: "TrackingServerName", # required + # artifact_store_uri: "S3Uri", # required + # tracking_server_size: "Small", # accepts Small, Medium, Large + # mlflow_version: "MlflowVersion", + # role_arn: "RoleArn", # required + # automatic_model_registration: false, + # weekly_maintenance_window_start: "WeeklyMaintenanceWindowStart", + # tags: [ + # { + # key: "TagKey", # required + # value: "TagValue", # required + # }, + # ], + # }) + # + # @example Response structure + # + # resp.tracking_server_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateMlflowTrackingServer AWS API Documentation + # + # @overload create_mlflow_tracking_server(params = {}) + # @param [Hash] params ({}) + def create_mlflow_tracking_server(params = {}, options = {}) + req = build_request(:create_mlflow_tracking_server, params) + req.send_request(options) + end + # Creates a model in SageMaker. In the request, you name the model and # describe a primary container. For the primary container, you specify # the Docker image that contains inference code, artifacts (from prior @@ -7330,6 +7434,49 @@ def create_presigned_domain_url(params = {}, options = {}) req.send_request(options) end + # Returns a presigned URL that you can use to connect to the MLflow UI + # attached to your tracking server. For more information, see [Launch + # the MLflow UI using a presigned URL][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-launch-ui.html + # + # @option params [required, String] :tracking_server_name + # The name of the tracking server to connect to your MLflow UI. + # + # @option params [Integer] :expires_in_seconds + # The duration in seconds that your presigned URL is valid. The + # presigned URL can be used only once. + # + # @option params [Integer] :session_expiration_duration_in_seconds + # The duration in seconds that your MLflow UI session is valid. + # + # @return [Types::CreatePresignedMlflowTrackingServerUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::CreatePresignedMlflowTrackingServerUrlResponse#authorized_url #authorized_url} => String + # + # @example Request syntax with placeholder values + # + # resp = client.create_presigned_mlflow_tracking_server_url({ + # tracking_server_name: "TrackingServerName", # required + # expires_in_seconds: 1, + # session_expiration_duration_in_seconds: 1, + # }) + # + # @example Response structure + # + # resp.authorized_url #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreatePresignedMlflowTrackingServerUrl AWS API Documentation + # + # @overload create_presigned_mlflow_tracking_server_url(params = {}) + # @param [Hash] params ({}) + def create_presigned_mlflow_tracking_server_url(params = {}, options = {}) + req = build_request(:create_presigned_mlflow_tracking_server_url, params) + req.send_request(options) + end + # Returns a URL that you can use to connect to the Jupyter server from a # notebook instance. In the SageMaker console, when you choose `Open` # next to a notebook instance, SageMaker opens a new tab showing the @@ -9032,7 +9179,7 @@ def create_user_profile(params = {}, options = {}) # @option params [Types::SourceIpConfig] :source_ip_config # A list of IP address ranges ([CIDRs][1]). Used to create an allow list # of IP addresses for a private workforce. Workers will only be able to - # login to their worker portal from an IP address within this range. By + # log in to their worker portal from an IP address within this range. By # default, a workforce isn't restricted to specific IP addresses. # # @@ -10036,6 +10183,39 @@ def delete_inference_experiment(params = {}, options = {}) req.send_request(options) end + # Deletes an MLflow Tracking Server. For more information, see [Clean up + # MLflow resources][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-cleanup.html.html + # + # @option params [required, String] :tracking_server_name + # The name of the the tracking server to delete. + # + # @return [Types::DeleteMlflowTrackingServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::DeleteMlflowTrackingServerResponse#tracking_server_arn #tracking_server_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.delete_mlflow_tracking_server({ + # tracking_server_name: "TrackingServerName", # required + # }) + # + # @example Response structure + # + # resp.tracking_server_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteMlflowTrackingServer AWS API Documentation + # + # @overload delete_mlflow_tracking_server(params = {}) + # @param [Hash] params ({}) + def delete_mlflow_tracking_server(params = {}, options = {}) + req = build_request(:delete_mlflow_tracking_server, params) + req.send_request(options) + end + # Deletes a model. The `DeleteModel` API deletes only the model entry # that was created in SageMaker when you called the `CreateModel` API. # It does not delete model artifacts, inference code, or the IAM role @@ -10559,7 +10739,7 @@ def delete_user_profile(params = {}, options = {}) # If a private workforce contains one or more work teams, you must use # the [DeleteWorkteam][2] operation to delete all work teams before you # delete the workforce. If you try to delete a workforce that contains - # one or more work teams, you will recieve a `ResourceInUse` error. + # one or more work teams, you will receive a `ResourceInUse` error. # # # @@ -11435,6 +11615,8 @@ def describe_auto_ml_job_v2(params = {}, options = {}) # resp.instance_groups[0].life_cycle_config.on_create #=> String # resp.instance_groups[0].execution_role #=> String # 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.vpc_config.security_group_ids #=> Array # resp.vpc_config.security_group_ids[0] #=> String # resp.vpc_config.subnets #=> Array @@ -11481,6 +11663,8 @@ def describe_cluster(params = {}, options = {}) # resp.node_details.life_cycle_config.source_s3_uri #=> String # resp.node_details.life_cycle_config.on_create #=> String # resp.node_details.threads_per_core #=> Integer + # resp.node_details.instance_storage_configs #=> Array + # resp.node_details.instance_storage_configs[0].ebs_volume_config.volume_size_in_gb #=> Integer # resp.node_details.private_primary_ip #=> String # resp.node_details.private_dns_hostname #=> String # resp.node_details.placement.availability_zone #=> String @@ -13820,6 +14004,72 @@ def describe_lineage_group(params = {}, options = {}) req.send_request(options) end + # Returns information about an MLflow Tracking Server. + # + # @option params [required, String] :tracking_server_name + # The name of the MLflow Tracking Server to describe. + # + # @return [Types::DescribeMlflowTrackingServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::DescribeMlflowTrackingServerResponse#tracking_server_arn #tracking_server_arn} => String + # * {Types::DescribeMlflowTrackingServerResponse#tracking_server_name #tracking_server_name} => String + # * {Types::DescribeMlflowTrackingServerResponse#artifact_store_uri #artifact_store_uri} => String + # * {Types::DescribeMlflowTrackingServerResponse#tracking_server_size #tracking_server_size} => String + # * {Types::DescribeMlflowTrackingServerResponse#mlflow_version #mlflow_version} => String + # * {Types::DescribeMlflowTrackingServerResponse#role_arn #role_arn} => String + # * {Types::DescribeMlflowTrackingServerResponse#tracking_server_status #tracking_server_status} => String + # * {Types::DescribeMlflowTrackingServerResponse#is_active #is_active} => String + # * {Types::DescribeMlflowTrackingServerResponse#tracking_server_url #tracking_server_url} => String + # * {Types::DescribeMlflowTrackingServerResponse#weekly_maintenance_window_start #weekly_maintenance_window_start} => String + # * {Types::DescribeMlflowTrackingServerResponse#automatic_model_registration #automatic_model_registration} => Boolean + # * {Types::DescribeMlflowTrackingServerResponse#creation_time #creation_time} => Time + # * {Types::DescribeMlflowTrackingServerResponse#created_by #created_by} => Types::UserContext + # * {Types::DescribeMlflowTrackingServerResponse#last_modified_time #last_modified_time} => Time + # * {Types::DescribeMlflowTrackingServerResponse#last_modified_by #last_modified_by} => Types::UserContext + # + # @example Request syntax with placeholder values + # + # resp = client.describe_mlflow_tracking_server({ + # tracking_server_name: "TrackingServerName", # required + # }) + # + # @example Response structure + # + # resp.tracking_server_arn #=> String + # resp.tracking_server_name #=> String + # resp.artifact_store_uri #=> String + # resp.tracking_server_size #=> String, one of "Small", "Medium", "Large" + # resp.mlflow_version #=> String + # resp.role_arn #=> String + # resp.tracking_server_status #=> String, one of "Creating", "Created", "CreateFailed", "Updating", "Updated", "UpdateFailed", "Deleting", "DeleteFailed", "Stopping", "Stopped", "StopFailed", "Starting", "Started", "StartFailed", "MaintenanceInProgress", "MaintenanceComplete", "MaintenanceFailed" + # resp.is_active #=> String, one of "Active", "Inactive" + # resp.tracking_server_url #=> String + # resp.weekly_maintenance_window_start #=> String + # resp.automatic_model_registration #=> Boolean + # resp.creation_time #=> Time + # resp.created_by.user_profile_arn #=> String + # resp.created_by.user_profile_name #=> String + # resp.created_by.domain_id #=> String + # resp.created_by.iam_identity.arn #=> String + # resp.created_by.iam_identity.principal_id #=> String + # resp.created_by.iam_identity.source_identity #=> String + # resp.last_modified_time #=> Time + # resp.last_modified_by.user_profile_arn #=> String + # resp.last_modified_by.user_profile_name #=> String + # resp.last_modified_by.domain_id #=> String + # resp.last_modified_by.iam_identity.arn #=> String + # resp.last_modified_by.iam_identity.principal_id #=> String + # resp.last_modified_by.iam_identity.source_identity #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeMlflowTrackingServer AWS API Documentation + # + # @overload describe_mlflow_tracking_server(params = {}) + # @param [Hash] params ({}) + def describe_mlflow_tracking_server(params = {}, options = {}) + req = build_request(:describe_mlflow_tracking_server, params) + req.send_request(options) + end + # Describes a model that you created using the `CreateModel` API. # # @option params [required, String] :model_name @@ -16005,7 +16255,7 @@ def describe_workforce(params = {}, options = {}) end # Gets information about a specific work team. You can see information - # such as the create date, the last updated date, membership + # such as the creation date, the last updated date, membership # information, and the work team's Amazon Resource Name (ARN). # # @option params [required, String] :workteam_name @@ -19579,6 +19829,93 @@ def list_lineage_groups(params = {}, options = {}) req.send_request(options) end + # Lists all MLflow Tracking Servers. + # + # @option params [Time,DateTime,Date,Integer,String] :created_after + # Use the `CreatedAfter` filter to only list tracking servers created + # after a specific date and time. Listed tracking servers are shown with + # a date and time such as `"2024-03-16T01:46:56+00:00"`. The + # `CreatedAfter` parameter takes in a Unix timestamp. To convert a date + # and time into a Unix timestamp, see [EpochConverter][1]. + # + # + # + # [1]: https://www.epochconverter.com/ + # + # @option params [Time,DateTime,Date,Integer,String] :created_before + # Use the `CreatedBefore` filter to only list tracking servers created + # before a specific date and time. Listed tracking servers are shown + # with a date and time such as `"2024-03-16T01:46:56+00:00"`. The + # `CreatedBefore` parameter takes in a Unix timestamp. To convert a date + # and time into a Unix timestamp, see [EpochConverter][1]. + # + # + # + # [1]: https://www.epochconverter.com/ + # + # @option params [String] :tracking_server_status + # Filter for tracking servers with a specified creation status. + # + # @option params [String] :mlflow_version + # Filter for tracking servers using the specified MLflow version. + # + # @option params [String] :sort_by + # Filter for trackings servers sorting by name, creation time, or + # creation status. + # + # @option params [String] :sort_order + # Change the order of the listed tracking servers. By default, tracking + # servers are listed in `Descending` order by creation time. To change + # the list order, you can specify `SortOrder` to be `Ascending`. + # + # @option params [String] :next_token + # If the previous response was truncated, you will receive this token. + # Use it in your next request to receive the next set of results. + # + # @option params [Integer] :max_results + # The maximum number of tracking servers to list. + # + # @return [Types::ListMlflowTrackingServersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::ListMlflowTrackingServersResponse#tracking_server_summaries #tracking_server_summaries} => Array<Types::TrackingServerSummary> + # * {Types::ListMlflowTrackingServersResponse#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_mlflow_tracking_servers({ + # created_after: Time.now, + # created_before: Time.now, + # tracking_server_status: "Creating", # accepts Creating, Created, CreateFailed, Updating, Updated, UpdateFailed, Deleting, DeleteFailed, Stopping, Stopped, StopFailed, Starting, Started, StartFailed, MaintenanceInProgress, MaintenanceComplete, MaintenanceFailed + # mlflow_version: "MlflowVersion", + # sort_by: "Name", # accepts Name, CreationTime, Status + # sort_order: "Ascending", # accepts Ascending, Descending + # next_token: "NextToken", + # max_results: 1, + # }) + # + # @example Response structure + # + # resp.tracking_server_summaries #=> Array + # resp.tracking_server_summaries[0].tracking_server_arn #=> String + # resp.tracking_server_summaries[0].tracking_server_name #=> String + # resp.tracking_server_summaries[0].creation_time #=> Time + # resp.tracking_server_summaries[0].last_modified_time #=> Time + # resp.tracking_server_summaries[0].tracking_server_status #=> String, one of "Creating", "Created", "CreateFailed", "Updating", "Updated", "UpdateFailed", "Deleting", "DeleteFailed", "Stopping", "Stopped", "StopFailed", "Starting", "Started", "StartFailed", "MaintenanceInProgress", "MaintenanceComplete", "MaintenanceFailed" + # resp.tracking_server_summaries[0].is_active #=> String, one of "Active", "Inactive" + # resp.tracking_server_summaries[0].mlflow_version #=> String + # resp.next_token #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListMlflowTrackingServers AWS API Documentation + # + # @overload list_mlflow_tracking_servers(params = {}) + # @param [Hash] params ({}) + def list_mlflow_tracking_servers(params = {}, options = {}) + req = build_request(:list_mlflow_tracking_servers, params) + req.send_request(options) + end + # Lists model bias jobs definitions that satisfy various filters. # # @option params [String] :endpoint_name @@ -22863,6 +23200,34 @@ def start_inference_experiment(params = {}, options = {}) req.send_request(options) end + # Programmatically start an MLflow Tracking Server. + # + # @option params [required, String] :tracking_server_name + # The name of the tracking server to start. + # + # @return [Types::StartMlflowTrackingServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::StartMlflowTrackingServerResponse#tracking_server_arn #tracking_server_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.start_mlflow_tracking_server({ + # tracking_server_name: "TrackingServerName", # required + # }) + # + # @example Response structure + # + # resp.tracking_server_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StartMlflowTrackingServer AWS API Documentation + # + # @overload start_mlflow_tracking_server(params = {}) + # @param [Hash] params ({}) + def start_mlflow_tracking_server(params = {}, options = {}) + req = build_request(:start_mlflow_tracking_server, params) + req.send_request(options) + end + # Starts a previously stopped monitoring schedule. # # By default, when you successfully create a new schedule, the status of @@ -23237,6 +23602,34 @@ def stop_labeling_job(params = {}, options = {}) req.send_request(options) end + # Programmatically stop an MLflow Tracking Server. + # + # @option params [required, String] :tracking_server_name + # The name of the tracking server to stop. + # + # @return [Types::StopMlflowTrackingServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::StopMlflowTrackingServerResponse#tracking_server_arn #tracking_server_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.stop_mlflow_tracking_server({ + # tracking_server_name: "TrackingServerName", # required + # }) + # + # @example Response structure + # + # resp.tracking_server_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopMlflowTrackingServer AWS API Documentation + # + # @overload stop_mlflow_tracking_server(params = {}) + # @param [Hash] params ({}) + def stop_mlflow_tracking_server(params = {}, options = {}) + req = build_request(:stop_mlflow_tracking_server, params) + req.send_request(options) + end + # Stops a previously started monitoring schedule. # # @option params [required, String] :monitoring_schedule_name @@ -23626,6 +24019,13 @@ def update_artifact(params = {}, options = {}) # }, # execution_role: "RoleArn", # required # threads_per_core: 1, + # instance_storage_configs: [ + # { + # ebs_volume_config: { + # volume_size_in_gb: 1, # required + # }, + # }, + # ], # }, # ], # }) @@ -24905,6 +25305,57 @@ def update_inference_experiment(params = {}, options = {}) req.send_request(options) end + # Updates properties of an existing MLflow Tracking Server. + # + # @option params [required, String] :tracking_server_name + # The name of the MLflow Tracking Server to update. + # + # @option params [String] :artifact_store_uri + # The new S3 URI for the general purpose bucket to use as the artifact + # store for the MLflow Tracking Server. + # + # @option params [String] :tracking_server_size + # The new size for the MLflow Tracking Server. + # + # @option params [Boolean] :automatic_model_registration + # Whether to enable or disable automatic registration of new MLflow + # models to the SageMaker Model Registry. To enable automatic model + # registration, set this value to `True`. To disable automatic model + # registration, set this value to `False`. If not specified, + # `AutomaticModelRegistration` defaults to `False` + # + # @option params [String] :weekly_maintenance_window_start + # The new weekly maintenance window start day and time to update. The + # maintenance window day and time should be in Coordinated Universal + # Time (UTC) 24-hour standard time. For example: TUE:03:30. + # + # @return [Types::UpdateMlflowTrackingServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: + # + # * {Types::UpdateMlflowTrackingServerResponse#tracking_server_arn #tracking_server_arn} => String + # + # @example Request syntax with placeholder values + # + # resp = client.update_mlflow_tracking_server({ + # tracking_server_name: "TrackingServerName", # required + # artifact_store_uri: "S3Uri", + # tracking_server_size: "Small", # accepts Small, Medium, Large + # automatic_model_registration: false, + # weekly_maintenance_window_start: "WeeklyMaintenanceWindowStart", + # }) + # + # @example Response structure + # + # resp.tracking_server_arn #=> String + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateMlflowTrackingServer AWS API Documentation + # + # @overload update_mlflow_tracking_server(params = {}) + # @param [Hash] params ({}) + def update_mlflow_tracking_server(params = {}, options = {}) + req = build_request(:update_mlflow_tracking_server, params) + req.send_request(options) + end + # Update an Amazon SageMaker Model Card. # # You cannot update both model card content and model card status in a @@ -26476,7 +26927,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-sagemaker' - context[:gem_version] = '1.246.0' + context[:gem_version] = '1.247.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 580c655ce0b..5e833344326 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 @@ -255,6 +255,8 @@ module ClientApi ClusterArn = Shapes::StringShape.new(name: 'ClusterArn') ClusterAvailabilityZone = Shapes::StringShape.new(name: 'ClusterAvailabilityZone') ClusterAvailabilityZoneId = Shapes::StringShape.new(name: 'ClusterAvailabilityZoneId') + ClusterEbsVolumeConfig = Shapes::StructureShape.new(name: 'ClusterEbsVolumeConfig') + ClusterEbsVolumeSizeInGB = Shapes::IntegerShape.new(name: 'ClusterEbsVolumeSizeInGB') ClusterInstanceCount = Shapes::IntegerShape.new(name: 'ClusterInstanceCount') ClusterInstanceGroupDetails = Shapes::StructureShape.new(name: 'ClusterInstanceGroupDetails') ClusterInstanceGroupDetailsList = Shapes::ListShape.new(name: 'ClusterInstanceGroupDetailsList') @@ -264,6 +266,8 @@ module ClientApi ClusterInstancePlacement = Shapes::StructureShape.new(name: 'ClusterInstancePlacement') ClusterInstanceStatus = Shapes::StringShape.new(name: 'ClusterInstanceStatus') ClusterInstanceStatusDetails = Shapes::StructureShape.new(name: 'ClusterInstanceStatusDetails') + ClusterInstanceStorageConfig = Shapes::UnionShape.new(name: 'ClusterInstanceStorageConfig') + ClusterInstanceStorageConfigs = Shapes::ListShape.new(name: 'ClusterInstanceStorageConfigs') ClusterInstanceType = Shapes::StringShape.new(name: 'ClusterInstanceType') ClusterLifeCycleConfig = Shapes::StructureShape.new(name: 'ClusterLifeCycleConfig') ClusterLifeCycleConfigFileName = Shapes::StringShape.new(name: 'ClusterLifeCycleConfigFileName') @@ -402,6 +406,8 @@ module ClientApi CreateInferenceRecommendationsJobResponse = Shapes::StructureShape.new(name: 'CreateInferenceRecommendationsJobResponse') CreateLabelingJobRequest = Shapes::StructureShape.new(name: 'CreateLabelingJobRequest') CreateLabelingJobResponse = Shapes::StructureShape.new(name: 'CreateLabelingJobResponse') + CreateMlflowTrackingServerRequest = Shapes::StructureShape.new(name: 'CreateMlflowTrackingServerRequest') + CreateMlflowTrackingServerResponse = Shapes::StructureShape.new(name: 'CreateMlflowTrackingServerResponse') CreateModelBiasJobDefinitionRequest = Shapes::StructureShape.new(name: 'CreateModelBiasJobDefinitionRequest') CreateModelBiasJobDefinitionResponse = Shapes::StructureShape.new(name: 'CreateModelBiasJobDefinitionResponse') CreateModelCardExportJobRequest = Shapes::StructureShape.new(name: 'CreateModelCardExportJobRequest') @@ -428,6 +434,8 @@ module ClientApi CreatePipelineResponse = Shapes::StructureShape.new(name: 'CreatePipelineResponse') CreatePresignedDomainUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedDomainUrlRequest') CreatePresignedDomainUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedDomainUrlResponse') + CreatePresignedMlflowTrackingServerUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedMlflowTrackingServerUrlRequest') + CreatePresignedMlflowTrackingServerUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedMlflowTrackingServerUrlResponse') CreatePresignedNotebookInstanceUrlInput = Shapes::StructureShape.new(name: 'CreatePresignedNotebookInstanceUrlInput') CreatePresignedNotebookInstanceUrlOutput = Shapes::StructureShape.new(name: 'CreatePresignedNotebookInstanceUrlOutput') CreateProcessingJobRequest = Shapes::StructureShape.new(name: 'CreateProcessingJobRequest') @@ -534,6 +542,8 @@ module ClientApi DeleteInferenceComponentInput = Shapes::StructureShape.new(name: 'DeleteInferenceComponentInput') DeleteInferenceExperimentRequest = Shapes::StructureShape.new(name: 'DeleteInferenceExperimentRequest') DeleteInferenceExperimentResponse = Shapes::StructureShape.new(name: 'DeleteInferenceExperimentResponse') + DeleteMlflowTrackingServerRequest = Shapes::StructureShape.new(name: 'DeleteMlflowTrackingServerRequest') + DeleteMlflowTrackingServerResponse = Shapes::StructureShape.new(name: 'DeleteMlflowTrackingServerResponse') DeleteModelBiasJobDefinitionRequest = Shapes::StructureShape.new(name: 'DeleteModelBiasJobDefinitionRequest') DeleteModelCardRequest = Shapes::StructureShape.new(name: 'DeleteModelCardRequest') DeleteModelExplainabilityJobDefinitionRequest = Shapes::StructureShape.new(name: 'DeleteModelExplainabilityJobDefinitionRequest') @@ -644,6 +654,8 @@ module ClientApi DescribeLabelingJobResponse = Shapes::StructureShape.new(name: 'DescribeLabelingJobResponse') DescribeLineageGroupRequest = Shapes::StructureShape.new(name: 'DescribeLineageGroupRequest') DescribeLineageGroupResponse = Shapes::StructureShape.new(name: 'DescribeLineageGroupResponse') + DescribeMlflowTrackingServerRequest = Shapes::StructureShape.new(name: 'DescribeMlflowTrackingServerRequest') + DescribeMlflowTrackingServerResponse = Shapes::StructureShape.new(name: 'DescribeMlflowTrackingServerResponse') DescribeModelBiasJobDefinitionRequest = Shapes::StructureShape.new(name: 'DescribeModelBiasJobDefinitionRequest') DescribeModelBiasJobDefinitionResponse = Shapes::StructureShape.new(name: 'DescribeModelBiasJobDefinitionResponse') DescribeModelCardExportJobRequest = Shapes::StructureShape.new(name: 'DescribeModelCardExportJobRequest') @@ -1105,6 +1117,7 @@ module ClientApi InvocationsMaxRetries = Shapes::IntegerShape.new(name: 'InvocationsMaxRetries') InvocationsTimeoutInSeconds = Shapes::IntegerShape.new(name: 'InvocationsTimeoutInSeconds') IotRoleAlias = Shapes::StringShape.new(name: 'IotRoleAlias') + IsTrackingServerActive = Shapes::StringShape.new(name: 'IsTrackingServerActive') ItemIdentifierAttributeName = Shapes::StringShape.new(name: 'ItemIdentifierAttributeName') JobDurationInSeconds = Shapes::IntegerShape.new(name: 'JobDurationInSeconds') JobReferenceCode = Shapes::StringShape.new(name: 'JobReferenceCode') @@ -1248,6 +1261,8 @@ module ClientApi ListLineageGroupsRequest = Shapes::StructureShape.new(name: 'ListLineageGroupsRequest') ListLineageGroupsResponse = Shapes::StructureShape.new(name: 'ListLineageGroupsResponse') ListMaxResults = Shapes::IntegerShape.new(name: 'ListMaxResults') + ListMlflowTrackingServersRequest = Shapes::StructureShape.new(name: 'ListMlflowTrackingServersRequest') + ListMlflowTrackingServersResponse = Shapes::StructureShape.new(name: 'ListMlflowTrackingServersResponse') ListModelBiasJobDefinitionsRequest = Shapes::StructureShape.new(name: 'ListModelBiasJobDefinitionsRequest') ListModelBiasJobDefinitionsResponse = Shapes::StructureShape.new(name: 'ListModelBiasJobDefinitionsResponse') ListModelCardExportJobsRequest = Shapes::StructureShape.new(name: 'ListModelCardExportJobsRequest') @@ -1368,6 +1383,7 @@ module ClientApi MetricValue = Shapes::FloatShape.new(name: 'MetricValue') MetricsSource = Shapes::StructureShape.new(name: 'MetricsSource') MinimumInstanceMetadataServiceVersion = Shapes::StringShape.new(name: 'MinimumInstanceMetadataServiceVersion') + MlflowVersion = Shapes::StringShape.new(name: 'MlflowVersion') Model = Shapes::StructureShape.new(name: 'Model') ModelAccessConfig = Shapes::StructureShape.new(name: 'ModelAccessConfig') ModelApprovalStatus = Shapes::StringShape.new(name: 'ModelApprovalStatus') @@ -1918,6 +1934,7 @@ module ClientApi SortOrder = Shapes::StringShape.new(name: 'SortOrder') SortPipelineExecutionsBy = Shapes::StringShape.new(name: 'SortPipelineExecutionsBy') SortPipelinesBy = Shapes::StringShape.new(name: 'SortPipelinesBy') + SortTrackingServerBy = Shapes::StringShape.new(name: 'SortTrackingServerBy') SortTrialComponentsBy = Shapes::StringShape.new(name: 'SortTrialComponentsBy') SortTrialsBy = Shapes::StringShape.new(name: 'SortTrialsBy') SourceAlgorithm = Shapes::StructureShape.new(name: 'SourceAlgorithm') @@ -1947,6 +1964,8 @@ module ClientApi StartEdgeDeploymentStageRequest = Shapes::StructureShape.new(name: 'StartEdgeDeploymentStageRequest') StartInferenceExperimentRequest = Shapes::StructureShape.new(name: 'StartInferenceExperimentRequest') StartInferenceExperimentResponse = Shapes::StructureShape.new(name: 'StartInferenceExperimentResponse') + StartMlflowTrackingServerRequest = Shapes::StructureShape.new(name: 'StartMlflowTrackingServerRequest') + StartMlflowTrackingServerResponse = Shapes::StructureShape.new(name: 'StartMlflowTrackingServerResponse') StartMonitoringScheduleRequest = Shapes::StructureShape.new(name: 'StartMonitoringScheduleRequest') StartNotebookInstanceInput = Shapes::StructureShape.new(name: 'StartNotebookInstanceInput') StartPipelineExecutionRequest = Shapes::StructureShape.new(name: 'StartPipelineExecutionRequest') @@ -1967,6 +1986,8 @@ module ClientApi StopInferenceExperimentResponse = Shapes::StructureShape.new(name: 'StopInferenceExperimentResponse') StopInferenceRecommendationsJobRequest = Shapes::StructureShape.new(name: 'StopInferenceRecommendationsJobRequest') StopLabelingJobRequest = Shapes::StructureShape.new(name: 'StopLabelingJobRequest') + StopMlflowTrackingServerRequest = Shapes::StructureShape.new(name: 'StopMlflowTrackingServerRequest') + StopMlflowTrackingServerResponse = Shapes::StructureShape.new(name: 'StopMlflowTrackingServerResponse') StopMonitoringScheduleRequest = Shapes::StructureShape.new(name: 'StopMonitoringScheduleRequest') StopNotebookInstanceInput = Shapes::StructureShape.new(name: 'StopNotebookInstanceInput') StopPipelineExecutionRequest = Shapes::StructureShape.new(name: 'StopPipelineExecutionRequest') @@ -2050,6 +2071,13 @@ module ClientApi TimeSeriesTransformations = Shapes::StructureShape.new(name: 'TimeSeriesTransformations') Timestamp = Shapes::TimestampShape.new(name: 'Timestamp') TimestampAttributeName = Shapes::StringShape.new(name: 'TimestampAttributeName') + TrackingServerArn = Shapes::StringShape.new(name: 'TrackingServerArn') + TrackingServerName = Shapes::StringShape.new(name: 'TrackingServerName') + TrackingServerSize = Shapes::StringShape.new(name: 'TrackingServerSize') + TrackingServerStatus = Shapes::StringShape.new(name: 'TrackingServerStatus') + TrackingServerSummary = Shapes::StructureShape.new(name: 'TrackingServerSummary') + TrackingServerSummaryList = Shapes::ListShape.new(name: 'TrackingServerSummaryList') + TrackingServerUrl = Shapes::StringShape.new(name: 'TrackingServerUrl') TrafficDurationInSeconds = Shapes::IntegerShape.new(name: 'TrafficDurationInSeconds') TrafficPattern = Shapes::StructureShape.new(name: 'TrafficPattern') TrafficRoutingConfig = Shapes::StructureShape.new(name: 'TrafficRoutingConfig') @@ -2182,6 +2210,8 @@ module ClientApi UpdateInferenceComponentRuntimeConfigOutput = Shapes::StructureShape.new(name: 'UpdateInferenceComponentRuntimeConfigOutput') UpdateInferenceExperimentRequest = Shapes::StructureShape.new(name: 'UpdateInferenceExperimentRequest') UpdateInferenceExperimentResponse = Shapes::StructureShape.new(name: 'UpdateInferenceExperimentResponse') + UpdateMlflowTrackingServerRequest = Shapes::StructureShape.new(name: 'UpdateMlflowTrackingServerRequest') + UpdateMlflowTrackingServerResponse = Shapes::StructureShape.new(name: 'UpdateMlflowTrackingServerResponse') UpdateModelCardRequest = Shapes::StructureShape.new(name: 'UpdateModelCardRequest') UpdateModelCardResponse = Shapes::StructureShape.new(name: 'UpdateModelCardResponse') UpdateModelPackageInput = Shapes::StructureShape.new(name: 'UpdateModelPackageInput') @@ -2252,6 +2282,7 @@ module ClientApi WaitIntervalInSeconds = Shapes::IntegerShape.new(name: 'WaitIntervalInSeconds') WarmPoolResourceStatus = Shapes::StringShape.new(name: 'WarmPoolResourceStatus') WarmPoolStatus = Shapes::StructureShape.new(name: 'WarmPoolStatus') + WeeklyMaintenanceWindowStart = Shapes::StringShape.new(name: 'WeeklyMaintenanceWindowStart') WorkerAccessConfiguration = Shapes::StructureShape.new(name: 'WorkerAccessConfiguration') Workforce = Shapes::StructureShape.new(name: 'Workforce') WorkforceArn = Shapes::StringShape.new(name: 'WorkforceArn') @@ -2838,6 +2869,9 @@ module ClientApi ClarifyTextConfig.add_member(:granularity, Shapes::ShapeRef.new(shape: ClarifyTextGranularity, required: true, location_name: "Granularity")) ClarifyTextConfig.struct_class = Types::ClarifyTextConfig + ClusterEbsVolumeConfig.add_member(:volume_size_in_gb, Shapes::ShapeRef.new(shape: ClusterEbsVolumeSizeInGB, required: true, location_name: "VolumeSizeInGB")) + ClusterEbsVolumeConfig.struct_class = Types::ClusterEbsVolumeConfig + ClusterInstanceGroupDetails.add_member(:current_count, Shapes::ShapeRef.new(shape: ClusterNonNegativeInstanceCount, location_name: "CurrentCount")) ClusterInstanceGroupDetails.add_member(:target_count, Shapes::ShapeRef.new(shape: ClusterInstanceCount, location_name: "TargetCount")) ClusterInstanceGroupDetails.add_member(:instance_group_name, Shapes::ShapeRef.new(shape: ClusterInstanceGroupName, location_name: "InstanceGroupName")) @@ -2845,6 +2879,7 @@ module ClientApi ClusterInstanceGroupDetails.add_member(:life_cycle_config, Shapes::ShapeRef.new(shape: ClusterLifeCycleConfig, location_name: "LifeCycleConfig")) 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.struct_class = Types::ClusterInstanceGroupDetails ClusterInstanceGroupDetailsList.member = Shapes::ShapeRef.new(shape: ClusterInstanceGroupDetails) @@ -2855,6 +2890,7 @@ module ClientApi 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: 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.struct_class = Types::ClusterInstanceGroupSpecification ClusterInstanceGroupSpecifications.member = Shapes::ShapeRef.new(shape: ClusterInstanceGroupSpecification) @@ -2867,6 +2903,14 @@ module ClientApi ClusterInstanceStatusDetails.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message")) ClusterInstanceStatusDetails.struct_class = Types::ClusterInstanceStatusDetails + ClusterInstanceStorageConfig.add_member(:ebs_volume_config, Shapes::ShapeRef.new(shape: ClusterEbsVolumeConfig, location_name: "EbsVolumeConfig")) + ClusterInstanceStorageConfig.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown')) + ClusterInstanceStorageConfig.add_member_subclass(:ebs_volume_config, Types::ClusterInstanceStorageConfig::EbsVolumeConfig) + ClusterInstanceStorageConfig.add_member_subclass(:unknown, Types::ClusterInstanceStorageConfig::Unknown) + ClusterInstanceStorageConfig.struct_class = Types::ClusterInstanceStorageConfig + + ClusterInstanceStorageConfigs.member = Shapes::ShapeRef.new(shape: ClusterInstanceStorageConfig) + ClusterLifeCycleConfig.add_member(:source_s3_uri, Shapes::ShapeRef.new(shape: S3Uri, required: true, location_name: "SourceS3Uri")) ClusterLifeCycleConfig.add_member(:on_create, Shapes::ShapeRef.new(shape: ClusterLifeCycleConfigFileName, required: true, location_name: "OnCreate")) ClusterLifeCycleConfig.struct_class = Types::ClusterLifeCycleConfig @@ -2878,6 +2922,7 @@ module ClientApi ClusterNodeDetails.add_member(:launch_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LaunchTime")) ClusterNodeDetails.add_member(:life_cycle_config, Shapes::ShapeRef.new(shape: ClusterLifeCycleConfig, location_name: "LifeCycleConfig")) ClusterNodeDetails.add_member(:threads_per_core, Shapes::ShapeRef.new(shape: ClusterThreadsPerCore, location_name: "ThreadsPerCore")) + ClusterNodeDetails.add_member(:instance_storage_configs, Shapes::ShapeRef.new(shape: ClusterInstanceStorageConfigs, location_name: "InstanceStorageConfigs")) ClusterNodeDetails.add_member(:private_primary_ip, Shapes::ShapeRef.new(shape: ClusterPrivatePrimaryIp, location_name: "PrivatePrimaryIp")) ClusterNodeDetails.add_member(:private_dns_hostname, Shapes::ShapeRef.new(shape: ClusterPrivateDnsHostname, location_name: "PrivateDnsHostname")) ClusterNodeDetails.add_member(:placement, Shapes::ShapeRef.new(shape: ClusterInstancePlacement, location_name: "Placement")) @@ -3394,6 +3439,19 @@ module ClientApi CreateLabelingJobResponse.add_member(:labeling_job_arn, Shapes::ShapeRef.new(shape: LabelingJobArn, required: true, location_name: "LabelingJobArn")) CreateLabelingJobResponse.struct_class = Types::CreateLabelingJobResponse + CreateMlflowTrackingServerRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + CreateMlflowTrackingServerRequest.add_member(:artifact_store_uri, Shapes::ShapeRef.new(shape: S3Uri, required: true, location_name: "ArtifactStoreUri")) + CreateMlflowTrackingServerRequest.add_member(:tracking_server_size, Shapes::ShapeRef.new(shape: TrackingServerSize, location_name: "TrackingServerSize")) + CreateMlflowTrackingServerRequest.add_member(:mlflow_version, Shapes::ShapeRef.new(shape: MlflowVersion, location_name: "MlflowVersion")) + CreateMlflowTrackingServerRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "RoleArn")) + CreateMlflowTrackingServerRequest.add_member(:automatic_model_registration, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutomaticModelRegistration")) + CreateMlflowTrackingServerRequest.add_member(:weekly_maintenance_window_start, Shapes::ShapeRef.new(shape: WeeklyMaintenanceWindowStart, location_name: "WeeklyMaintenanceWindowStart")) + CreateMlflowTrackingServerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags")) + CreateMlflowTrackingServerRequest.struct_class = Types::CreateMlflowTrackingServerRequest + + CreateMlflowTrackingServerResponse.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + CreateMlflowTrackingServerResponse.struct_class = Types::CreateMlflowTrackingServerResponse + CreateModelBiasJobDefinitionRequest.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: MonitoringJobDefinitionName, required: true, location_name: "JobDefinitionName")) CreateModelBiasJobDefinitionRequest.add_member(:model_bias_baseline_config, Shapes::ShapeRef.new(shape: ModelBiasBaselineConfig, location_name: "ModelBiasBaselineConfig")) CreateModelBiasJobDefinitionRequest.add_member(:model_bias_app_specification, Shapes::ShapeRef.new(shape: ModelBiasAppSpecification, required: true, location_name: "ModelBiasAppSpecification")) @@ -3568,6 +3626,14 @@ module ClientApi CreatePresignedDomainUrlResponse.add_member(:authorized_url, Shapes::ShapeRef.new(shape: PresignedDomainUrl, location_name: "AuthorizedUrl")) CreatePresignedDomainUrlResponse.struct_class = Types::CreatePresignedDomainUrlResponse + CreatePresignedMlflowTrackingServerUrlRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + CreatePresignedMlflowTrackingServerUrlRequest.add_member(:expires_in_seconds, Shapes::ShapeRef.new(shape: ExpiresInSeconds, location_name: "ExpiresInSeconds")) + CreatePresignedMlflowTrackingServerUrlRequest.add_member(:session_expiration_duration_in_seconds, Shapes::ShapeRef.new(shape: SessionExpirationDurationInSeconds, location_name: "SessionExpirationDurationInSeconds")) + CreatePresignedMlflowTrackingServerUrlRequest.struct_class = Types::CreatePresignedMlflowTrackingServerUrlRequest + + CreatePresignedMlflowTrackingServerUrlResponse.add_member(:authorized_url, Shapes::ShapeRef.new(shape: TrackingServerUrl, location_name: "AuthorizedUrl")) + CreatePresignedMlflowTrackingServerUrlResponse.struct_class = Types::CreatePresignedMlflowTrackingServerUrlResponse + CreatePresignedNotebookInstanceUrlInput.add_member(:notebook_instance_name, Shapes::ShapeRef.new(shape: NotebookInstanceName, required: true, location_name: "NotebookInstanceName")) CreatePresignedNotebookInstanceUrlInput.add_member(:session_expiration_duration_in_seconds, Shapes::ShapeRef.new(shape: SessionExpirationDurationInSeconds, location_name: "SessionExpirationDurationInSeconds")) CreatePresignedNotebookInstanceUrlInput.struct_class = Types::CreatePresignedNotebookInstanceUrlInput @@ -3999,6 +4065,12 @@ module ClientApi DeleteInferenceExperimentResponse.add_member(:inference_experiment_arn, Shapes::ShapeRef.new(shape: InferenceExperimentArn, required: true, location_name: "InferenceExperimentArn")) DeleteInferenceExperimentResponse.struct_class = Types::DeleteInferenceExperimentResponse + DeleteMlflowTrackingServerRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + DeleteMlflowTrackingServerRequest.struct_class = Types::DeleteMlflowTrackingServerRequest + + DeleteMlflowTrackingServerResponse.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + DeleteMlflowTrackingServerResponse.struct_class = Types::DeleteMlflowTrackingServerResponse + DeleteModelBiasJobDefinitionRequest.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: MonitoringJobDefinitionName, required: true, location_name: "JobDefinitionName")) DeleteModelBiasJobDefinitionRequest.struct_class = Types::DeleteModelBiasJobDefinitionRequest @@ -4740,6 +4812,26 @@ module ClientApi DescribeLineageGroupResponse.add_member(:last_modified_by, Shapes::ShapeRef.new(shape: UserContext, location_name: "LastModifiedBy")) DescribeLineageGroupResponse.struct_class = Types::DescribeLineageGroupResponse + DescribeMlflowTrackingServerRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + DescribeMlflowTrackingServerRequest.struct_class = Types::DescribeMlflowTrackingServerRequest + + DescribeMlflowTrackingServerResponse.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + DescribeMlflowTrackingServerResponse.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, location_name: "TrackingServerName")) + DescribeMlflowTrackingServerResponse.add_member(:artifact_store_uri, Shapes::ShapeRef.new(shape: S3Uri, location_name: "ArtifactStoreUri")) + DescribeMlflowTrackingServerResponse.add_member(:tracking_server_size, Shapes::ShapeRef.new(shape: TrackingServerSize, location_name: "TrackingServerSize")) + DescribeMlflowTrackingServerResponse.add_member(:mlflow_version, Shapes::ShapeRef.new(shape: MlflowVersion, location_name: "MlflowVersion")) + DescribeMlflowTrackingServerResponse.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "RoleArn")) + DescribeMlflowTrackingServerResponse.add_member(:tracking_server_status, Shapes::ShapeRef.new(shape: TrackingServerStatus, location_name: "TrackingServerStatus")) + DescribeMlflowTrackingServerResponse.add_member(:is_active, Shapes::ShapeRef.new(shape: IsTrackingServerActive, location_name: "IsActive")) + DescribeMlflowTrackingServerResponse.add_member(:tracking_server_url, Shapes::ShapeRef.new(shape: TrackingServerUrl, location_name: "TrackingServerUrl")) + DescribeMlflowTrackingServerResponse.add_member(:weekly_maintenance_window_start, Shapes::ShapeRef.new(shape: WeeklyMaintenanceWindowStart, location_name: "WeeklyMaintenanceWindowStart")) + DescribeMlflowTrackingServerResponse.add_member(:automatic_model_registration, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutomaticModelRegistration")) + DescribeMlflowTrackingServerResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationTime")) + DescribeMlflowTrackingServerResponse.add_member(:created_by, Shapes::ShapeRef.new(shape: UserContext, location_name: "CreatedBy")) + DescribeMlflowTrackingServerResponse.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastModifiedTime")) + DescribeMlflowTrackingServerResponse.add_member(:last_modified_by, Shapes::ShapeRef.new(shape: UserContext, location_name: "LastModifiedBy")) + DescribeMlflowTrackingServerResponse.struct_class = Types::DescribeMlflowTrackingServerResponse + DescribeModelBiasJobDefinitionRequest.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: MonitoringJobDefinitionName, required: true, location_name: "JobDefinitionName")) DescribeModelBiasJobDefinitionRequest.struct_class = Types::DescribeModelBiasJobDefinitionRequest @@ -6900,6 +6992,20 @@ module ClientApi ListLineageGroupsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken")) ListLineageGroupsResponse.struct_class = Types::ListLineageGroupsResponse + ListMlflowTrackingServersRequest.add_member(:created_after, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedAfter")) + ListMlflowTrackingServersRequest.add_member(:created_before, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreatedBefore")) + ListMlflowTrackingServersRequest.add_member(:tracking_server_status, Shapes::ShapeRef.new(shape: TrackingServerStatus, location_name: "TrackingServerStatus")) + ListMlflowTrackingServersRequest.add_member(:mlflow_version, Shapes::ShapeRef.new(shape: MlflowVersion, location_name: "MlflowVersion")) + ListMlflowTrackingServersRequest.add_member(:sort_by, Shapes::ShapeRef.new(shape: SortTrackingServerBy, location_name: "SortBy")) + ListMlflowTrackingServersRequest.add_member(:sort_order, Shapes::ShapeRef.new(shape: SortOrder, location_name: "SortOrder")) + ListMlflowTrackingServersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken")) + ListMlflowTrackingServersRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults")) + ListMlflowTrackingServersRequest.struct_class = Types::ListMlflowTrackingServersRequest + + ListMlflowTrackingServersResponse.add_member(:tracking_server_summaries, Shapes::ShapeRef.new(shape: TrackingServerSummaryList, location_name: "TrackingServerSummaries")) + ListMlflowTrackingServersResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken")) + ListMlflowTrackingServersResponse.struct_class = Types::ListMlflowTrackingServersResponse + ListModelBiasJobDefinitionsRequest.add_member(:endpoint_name, Shapes::ShapeRef.new(shape: EndpointName, location_name: "EndpointName")) ListModelBiasJobDefinitionsRequest.add_member(:sort_by, Shapes::ShapeRef.new(shape: MonitoringJobDefinitionSortKey, location_name: "SortBy")) ListModelBiasJobDefinitionsRequest.add_member(:sort_order, Shapes::ShapeRef.new(shape: SortOrder, location_name: "SortOrder")) @@ -9001,6 +9107,12 @@ module ClientApi StartInferenceExperimentResponse.add_member(:inference_experiment_arn, Shapes::ShapeRef.new(shape: InferenceExperimentArn, required: true, location_name: "InferenceExperimentArn")) StartInferenceExperimentResponse.struct_class = Types::StartInferenceExperimentResponse + StartMlflowTrackingServerRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + StartMlflowTrackingServerRequest.struct_class = Types::StartMlflowTrackingServerRequest + + StartMlflowTrackingServerResponse.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + StartMlflowTrackingServerResponse.struct_class = Types::StartMlflowTrackingServerResponse + StartMonitoringScheduleRequest.add_member(:monitoring_schedule_name, Shapes::ShapeRef.new(shape: MonitoringScheduleName, required: true, location_name: "MonitoringScheduleName")) StartMonitoringScheduleRequest.struct_class = Types::StartMonitoringScheduleRequest @@ -9051,6 +9163,12 @@ module ClientApi StopLabelingJobRequest.add_member(:labeling_job_name, Shapes::ShapeRef.new(shape: LabelingJobName, required: true, location_name: "LabelingJobName")) StopLabelingJobRequest.struct_class = Types::StopLabelingJobRequest + StopMlflowTrackingServerRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + StopMlflowTrackingServerRequest.struct_class = Types::StopMlflowTrackingServerRequest + + StopMlflowTrackingServerResponse.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + StopMlflowTrackingServerResponse.struct_class = Types::StopMlflowTrackingServerResponse + StopMonitoringScheduleRequest.add_member(:monitoring_schedule_name, Shapes::ShapeRef.new(shape: MonitoringScheduleName, required: true, location_name: "MonitoringScheduleName")) StopMonitoringScheduleRequest.struct_class = Types::StopMonitoringScheduleRequest @@ -9197,6 +9315,17 @@ module ClientApi TimeSeriesTransformations.add_member(:aggregation, Shapes::ShapeRef.new(shape: AggregationTransformations, location_name: "Aggregation")) TimeSeriesTransformations.struct_class = Types::TimeSeriesTransformations + TrackingServerSummary.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + TrackingServerSummary.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, location_name: "TrackingServerName")) + TrackingServerSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationTime")) + TrackingServerSummary.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastModifiedTime")) + TrackingServerSummary.add_member(:tracking_server_status, Shapes::ShapeRef.new(shape: TrackingServerStatus, location_name: "TrackingServerStatus")) + TrackingServerSummary.add_member(:is_active, Shapes::ShapeRef.new(shape: IsTrackingServerActive, location_name: "IsActive")) + TrackingServerSummary.add_member(:mlflow_version, Shapes::ShapeRef.new(shape: MlflowVersion, location_name: "MlflowVersion")) + TrackingServerSummary.struct_class = Types::TrackingServerSummary + + TrackingServerSummaryList.member = Shapes::ShapeRef.new(shape: TrackingServerSummary) + TrafficPattern.add_member(:traffic_type, Shapes::ShapeRef.new(shape: TrafficType, location_name: "TrafficType")) TrafficPattern.add_member(:phases, Shapes::ShapeRef.new(shape: Phases, location_name: "Phases")) TrafficPattern.add_member(:stairs, Shapes::ShapeRef.new(shape: Stairs, location_name: "Stairs")) @@ -9710,6 +9839,16 @@ module ClientApi UpdateInferenceExperimentResponse.add_member(:inference_experiment_arn, Shapes::ShapeRef.new(shape: InferenceExperimentArn, required: true, location_name: "InferenceExperimentArn")) UpdateInferenceExperimentResponse.struct_class = Types::UpdateInferenceExperimentResponse + UpdateMlflowTrackingServerRequest.add_member(:tracking_server_name, Shapes::ShapeRef.new(shape: TrackingServerName, required: true, location_name: "TrackingServerName")) + UpdateMlflowTrackingServerRequest.add_member(:artifact_store_uri, Shapes::ShapeRef.new(shape: S3Uri, location_name: "ArtifactStoreUri")) + UpdateMlflowTrackingServerRequest.add_member(:tracking_server_size, Shapes::ShapeRef.new(shape: TrackingServerSize, location_name: "TrackingServerSize")) + UpdateMlflowTrackingServerRequest.add_member(:automatic_model_registration, Shapes::ShapeRef.new(shape: Boolean, location_name: "AutomaticModelRegistration")) + UpdateMlflowTrackingServerRequest.add_member(:weekly_maintenance_window_start, Shapes::ShapeRef.new(shape: WeeklyMaintenanceWindowStart, location_name: "WeeklyMaintenanceWindowStart")) + UpdateMlflowTrackingServerRequest.struct_class = Types::UpdateMlflowTrackingServerRequest + + UpdateMlflowTrackingServerResponse.add_member(:tracking_server_arn, Shapes::ShapeRef.new(shape: TrackingServerArn, location_name: "TrackingServerArn")) + UpdateMlflowTrackingServerResponse.struct_class = Types::UpdateMlflowTrackingServerResponse + UpdateModelCardRequest.add_member(:model_card_name, Shapes::ShapeRef.new(shape: ModelCardNameOrArn, required: true, location_name: "ModelCardName")) UpdateModelCardRequest.add_member(:content, Shapes::ShapeRef.new(shape: ModelCardContent, location_name: "Content")) UpdateModelCardRequest.add_member(:model_card_status, Shapes::ShapeRef.new(shape: ModelCardStatus, location_name: "ModelCardStatus")) @@ -10346,6 +10485,15 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded) end) + api.add_operation(:create_mlflow_tracking_server, Seahorse::Model::Operation.new.tap do |o| + o.name = "CreateMlflowTrackingServer" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: CreateMlflowTrackingServerRequest) + o.output = Shapes::ShapeRef.new(shape: CreateMlflowTrackingServerResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded) + end) + api.add_operation(:create_model, Seahorse::Model::Operation.new.tap do |o| o.name = "CreateModel" o.http_method = "POST" @@ -10473,6 +10621,15 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) end) + api.add_operation(:create_presigned_mlflow_tracking_server_url, Seahorse::Model::Operation.new.tap do |o| + o.name = "CreatePresignedMlflowTrackingServerUrl" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: CreatePresignedMlflowTrackingServerUrlRequest) + o.output = Shapes::ShapeRef.new(shape: CreatePresignedMlflowTrackingServerUrlResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) + end) + api.add_operation(:create_presigned_notebook_instance_url, Seahorse::Model::Operation.new.tap do |o| o.name = "CreatePresignedNotebookInstanceUrl" o.http_method = "POST" @@ -10845,6 +11002,15 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) end) + api.add_operation(:delete_mlflow_tracking_server, Seahorse::Model::Operation.new.tap do |o| + o.name = "DeleteMlflowTrackingServer" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: DeleteMlflowTrackingServerRequest) + o.output = Shapes::ShapeRef.new(shape: DeleteMlflowTrackingServerResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) + end) + api.add_operation(:delete_model, Seahorse::Model::Operation.new.tap do |o| o.name = "DeleteModel" o.http_method = "POST" @@ -11351,6 +11517,15 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) end) + api.add_operation(:describe_mlflow_tracking_server, Seahorse::Model::Operation.new.tap do |o| + o.name = "DescribeMlflowTrackingServer" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: DescribeMlflowTrackingServerRequest) + o.output = Shapes::ShapeRef.new(shape: DescribeMlflowTrackingServerResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) + end) + api.add_operation(:describe_model, Seahorse::Model::Operation.new.tap do |o| o.name = "DescribeModel" o.http_method = "POST" @@ -12203,6 +12378,20 @@ module ClientApi ) end) + api.add_operation(:list_mlflow_tracking_servers, Seahorse::Model::Operation.new.tap do |o| + o.name = "ListMlflowTrackingServers" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: ListMlflowTrackingServersRequest) + o.output = Shapes::ShapeRef.new(shape: ListMlflowTrackingServersResponse) + o[:pager] = Aws::Pager.new( + limit_key: "max_results", + tokens: { + "next_token" => "next_token" + } + ) + end) + api.add_operation(:list_model_bias_job_definitions, Seahorse::Model::Operation.new.tap do |o| o.name = "ListModelBiasJobDefinitions" o.http_method = "POST" @@ -12824,6 +13013,16 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) end) + api.add_operation(:start_mlflow_tracking_server, Seahorse::Model::Operation.new.tap do |o| + o.name = "StartMlflowTrackingServer" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: StartMlflowTrackingServerRequest) + o.output = Shapes::ShapeRef.new(shape: StartMlflowTrackingServerResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + end) + api.add_operation(:start_monitoring_schedule, Seahorse::Model::Operation.new.tap do |o| o.name = "StartMonitoringSchedule" o.http_method = "POST" @@ -12924,6 +13123,16 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) end) + api.add_operation(:stop_mlflow_tracking_server, Seahorse::Model::Operation.new.tap do |o| + o.name = "StopMlflowTrackingServer" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: StopMlflowTrackingServerRequest) + o.output = Shapes::ShapeRef.new(shape: StopMlflowTrackingServerResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + end) + api.add_operation(:stop_monitoring_schedule, Seahorse::Model::Operation.new.tap do |o| o.name = "StopMonitoringSchedule" o.http_method = "POST" @@ -13179,6 +13388,17 @@ module ClientApi o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) end) + api.add_operation(:update_mlflow_tracking_server, Seahorse::Model::Operation.new.tap do |o| + o.name = "UpdateMlflowTrackingServer" + o.http_method = "POST" + o.http_request_uri = "/" + o.input = Shapes::ShapeRef.new(shape: UpdateMlflowTrackingServerRequest) + o.output = Shapes::ShapeRef.new(shape: UpdateMlflowTrackingServerResponse) + o.errors << Shapes::ShapeRef.new(shape: ResourceNotFound) + o.errors << Shapes::ShapeRef.new(shape: ResourceLimitExceeded) + o.errors << Shapes::ShapeRef.new(shape: ConflictException) + end) + api.add_operation(:update_model_card, Seahorse::Model::Operation.new.tap do |o| o.name = "UpdateModelCard" o.http_method = "POST" diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/endpoints.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/endpoints.rb index 9e32dc8756a..2a462b6069c 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/endpoints.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/endpoints.rb @@ -502,6 +502,20 @@ def self.build(context) end end + class CreateMlflowTrackingServer + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 CreateModel def self.build(context) unless context.config.regional_endpoint @@ -684,6 +698,20 @@ def self.build(context) end end + class CreatePresignedMlflowTrackingServerUrl + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 CreatePresignedNotebookInstanceUrl def self.build(context) unless context.config.regional_endpoint @@ -1244,6 +1272,20 @@ def self.build(context) end end + class DeleteMlflowTrackingServer + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 DeleteModel def self.build(context) unless context.config.regional_endpoint @@ -2042,6 +2084,20 @@ def self.build(context) end end + class DescribeMlflowTrackingServer + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 DescribeModel def self.build(context) unless context.config.regional_endpoint @@ -3092,6 +3148,20 @@ def self.build(context) end end + class ListMlflowTrackingServers + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 ListModelBiasJobDefinitions def self.build(context) unless context.config.regional_endpoint @@ -3736,6 +3806,20 @@ def self.build(context) end end + class StartMlflowTrackingServer + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 StartMonitoringSchedule def self.build(context) unless context.config.regional_endpoint @@ -3890,6 +3974,20 @@ def self.build(context) end end + class StopMlflowTrackingServer + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 StopMonitoringSchedule def self.build(context) unless context.config.regional_endpoint @@ -4268,6 +4366,20 @@ def self.build(context) end end + class UpdateMlflowTrackingServer + def self.build(context) + unless context.config.regional_endpoint + endpoint = context.config.endpoint.to_s + end + Aws::SageMaker::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 UpdateModelCard def self.build(context) unless context.config.regional_endpoint diff --git a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/plugins/endpoints.rb b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/plugins/endpoints.rb index 2d55aa21550..f4cee808156 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/plugins/endpoints.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/plugins/endpoints.rb @@ -128,6 +128,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::CreateInferenceRecommendationsJob.build(context) when :create_labeling_job Aws::SageMaker::Endpoints::CreateLabelingJob.build(context) + when :create_mlflow_tracking_server + Aws::SageMaker::Endpoints::CreateMlflowTrackingServer.build(context) when :create_model Aws::SageMaker::Endpoints::CreateModel.build(context) when :create_model_bias_job_definition @@ -154,6 +156,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::CreatePipeline.build(context) when :create_presigned_domain_url Aws::SageMaker::Endpoints::CreatePresignedDomainUrl.build(context) + when :create_presigned_mlflow_tracking_server_url + Aws::SageMaker::Endpoints::CreatePresignedMlflowTrackingServerUrl.build(context) when :create_presigned_notebook_instance_url Aws::SageMaker::Endpoints::CreatePresignedNotebookInstanceUrl.build(context) when :create_processing_job @@ -234,6 +238,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::DeleteInferenceComponent.build(context) when :delete_inference_experiment Aws::SageMaker::Endpoints::DeleteInferenceExperiment.build(context) + when :delete_mlflow_tracking_server + Aws::SageMaker::Endpoints::DeleteMlflowTrackingServer.build(context) when :delete_model Aws::SageMaker::Endpoints::DeleteModel.build(context) when :delete_model_bias_job_definition @@ -348,6 +354,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::DescribeLabelingJob.build(context) when :describe_lineage_group Aws::SageMaker::Endpoints::DescribeLineageGroup.build(context) + when :describe_mlflow_tracking_server + Aws::SageMaker::Endpoints::DescribeMlflowTrackingServer.build(context) when :describe_model Aws::SageMaker::Endpoints::DescribeModel.build(context) when :describe_model_bias_job_definition @@ -498,6 +506,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::ListLabelingJobsForWorkteam.build(context) when :list_lineage_groups Aws::SageMaker::Endpoints::ListLineageGroups.build(context) + when :list_mlflow_tracking_servers + Aws::SageMaker::Endpoints::ListMlflowTrackingServers.build(context) when :list_model_bias_job_definitions Aws::SageMaker::Endpoints::ListModelBiasJobDefinitions.build(context) when :list_model_card_export_jobs @@ -590,6 +600,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::StartEdgeDeploymentStage.build(context) when :start_inference_experiment Aws::SageMaker::Endpoints::StartInferenceExperiment.build(context) + when :start_mlflow_tracking_server + Aws::SageMaker::Endpoints::StartMlflowTrackingServer.build(context) when :start_monitoring_schedule Aws::SageMaker::Endpoints::StartMonitoringSchedule.build(context) when :start_notebook_instance @@ -612,6 +624,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::StopInferenceRecommendationsJob.build(context) when :stop_labeling_job Aws::SageMaker::Endpoints::StopLabelingJob.build(context) + when :stop_mlflow_tracking_server + Aws::SageMaker::Endpoints::StopMlflowTrackingServer.build(context) when :stop_monitoring_schedule Aws::SageMaker::Endpoints::StopMonitoringSchedule.build(context) when :stop_notebook_instance @@ -666,6 +680,8 @@ def parameters_for_operation(context) Aws::SageMaker::Endpoints::UpdateInferenceComponentRuntimeConfig.build(context) when :update_inference_experiment Aws::SageMaker::Endpoints::UpdateInferenceExperiment.build(context) + when :update_mlflow_tracking_server + Aws::SageMaker::Endpoints::UpdateMlflowTrackingServer.build(context) when :update_model_card Aws::SageMaker::Endpoints::UpdateModelCard.build(context) when :update_model_package 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 fde91c0d1a4..df98921e3f5 100644 --- a/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb +++ b/gems/aws-sdk-sagemaker/lib/aws-sdk-sagemaker/types.rb @@ -3982,6 +3982,26 @@ class ClarifyTextConfig < Struct.new( include Aws::Structure end + # Defines the configuration for attaching an additional Amazon Elastic + # Block Store (EBS) volume to each instance of the SageMaker HyperPod + # cluster instance group. + # + # @!attribute [rw] volume_size_in_gb + # The size in gigabytes (GB) of the additional EBS volume to be + # attached to the instances in the SageMaker HyperPod cluster instance + # group. The additional EBS volume is attached to each instance within + # the SageMaker HyperPod cluster instance group and mounted to + # `/opt/sagemaker`. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterEbsVolumeConfig AWS API Documentation + # + class ClusterEbsVolumeConfig < Struct.new( + :volume_size_in_gb) + SENSITIVE = [] + include Aws::Structure + end + # Details of an instance group in a SageMaker HyperPod cluster. # # @!attribute [rw] current_count @@ -4025,6 +4045,11 @@ class ClarifyTextConfig < Struct.new( # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html # @return [Integer] # + # @!attribute [rw] instance_storage_configs + # The additional storage configurations for the instances in the + # SageMaker HyperPod cluster instance group. + # @return [Array] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterInstanceGroupDetails AWS API Documentation # class ClusterInstanceGroupDetails < Struct.new( @@ -4034,7 +4059,8 @@ class ClusterInstanceGroupDetails < Struct.new( :instance_type, :life_cycle_config, :execution_role, - :threads_per_core) + :threads_per_core, + :instance_storage_configs) SENSITIVE = [] include Aws::Structure end @@ -4076,6 +4102,11 @@ class ClusterInstanceGroupDetails < Struct.new( # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html # @return [Integer] # + # @!attribute [rw] instance_storage_configs + # Specifies the additional storage configurations for the instances in + # the SageMaker HyperPod cluster instance group. + # @return [Array] + # # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterInstanceGroupSpecification AWS API Documentation # class ClusterInstanceGroupSpecification < Struct.new( @@ -4084,7 +4115,8 @@ class ClusterInstanceGroupSpecification < Struct.new( :instance_type, :life_cycle_config, :execution_role, - :threads_per_core) + :threads_per_core, + :instance_storage_configs) SENSITIVE = [] include Aws::Structure end @@ -4131,6 +4163,34 @@ class ClusterInstanceStatusDetails < Struct.new( include Aws::Structure end + # Defines the configuration for attaching additional storage to the + # instances in the SageMaker HyperPod cluster instance group. + # + # @note ClusterInstanceStorageConfig is a union - when making an API calls you must set exactly one of the members. + # + # @note ClusterInstanceStorageConfig is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of ClusterInstanceStorageConfig corresponding to the set member. + # + # @!attribute [rw] ebs_volume_config + # Defines the configuration for attaching additional Amazon Elastic + # Block Store (EBS) volumes to the instances in the SageMaker HyperPod + # cluster instance group. The additional EBS volume is attached to + # each instance within the SageMaker HyperPod cluster instance group + # and mounted to `/opt/sagemaker`. + # @return [Types::ClusterEbsVolumeConfig] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ClusterInstanceStorageConfig AWS API Documentation + # + class ClusterInstanceStorageConfig < Struct.new( + :ebs_volume_config, + :unknown) + SENSITIVE = [] + include Aws::Structure + include Aws::Structure::Union + + class EbsVolumeConfig < ClusterInstanceStorageConfig; end + class Unknown < ClusterInstanceStorageConfig; end + end + # The lifecycle configuration for a SageMaker HyperPod cluster. # # @!attribute [rw] source_s3_uri @@ -4193,6 +4253,11 @@ class ClusterLifeCycleConfig < Struct.new( # `CreateCluster`. # @return [Integer] # + # @!attribute [rw] instance_storage_configs + # The configurations of additional storage specified to the instance + # group where the instance (node) is launched. + # @return [Array] + # # @!attribute [rw] private_primary_ip # The private primary IP address of the SageMaker HyperPod cluster # node. @@ -4216,6 +4281,7 @@ class ClusterNodeDetails < Struct.new( :launch_time, :life_cycle_config, :threads_per_core, + :instance_storage_configs, :private_primary_ip, :private_dns_hostname, :placement) @@ -7502,6 +7568,95 @@ class CreateLabelingJobResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # A unique string identifying the tracking server name. This string is + # part of the tracking server ARN. + # @return [String] + # + # @!attribute [rw] artifact_store_uri + # The S3 URI for a general purpose bucket to use as the MLflow + # Tracking Server artifact store. + # @return [String] + # + # @!attribute [rw] tracking_server_size + # The size of the tracking server you want to create. You can choose + # between `"Small"`, `"Medium"`, and `"Large"`. The default MLflow + # Tracking Server configuration size is `"Small"`. You can choose a + # size depending on the projected use of the tracking server such as + # the volume of data logged, number of users, and frequency of use. + # + # We recommend using a small tracking server for teams of up to 25 + # users, a medium tracking server for teams of up to 50 users, and a + # large tracking server for teams of up to 100 users. + # @return [String] + # + # @!attribute [rw] mlflow_version + # The version of MLflow that the tracking server uses. To see which + # MLflow versions are available to use, see [How it works][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow.html#mlflow-create-tracking-server-how-it-works + # @return [String] + # + # @!attribute [rw] role_arn + # The Amazon Resource Name (ARN) for an IAM role in your account that + # the MLflow Tracking Server uses to access the artifact store in + # Amazon S3. The role should have `AmazonS3FullAccess` permissions. + # For more information on IAM permissions for tracking server + # creation, see [Set up IAM permissions for MLflow][1]. + # + # + # + # [1]: https://docs.aws.amazon.com/sagemaker/latest/dg/mlflow-create-tracking-server-iam.html + # @return [String] + # + # @!attribute [rw] automatic_model_registration + # Whether to enable or disable automatic registration of new MLflow + # models to the SageMaker Model Registry. To enable automatic model + # registration, set this value to `True`. To disable automatic model + # registration, set this value to `False`. If not specified, + # `AutomaticModelRegistration` defaults to `False`. + # @return [Boolean] + # + # @!attribute [rw] weekly_maintenance_window_start + # The day and time of the week in Coordinated Universal Time (UTC) + # 24-hour standard time that weekly maintenance updates are scheduled. + # For example: TUE:03:30. + # @return [String] + # + # @!attribute [rw] tags + # Tags consisting of key-value pairs used to manage metadata for the + # tracking server. + # @return [Array] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateMlflowTrackingServerRequest AWS API Documentation + # + class CreateMlflowTrackingServerRequest < Struct.new( + :tracking_server_name, + :artifact_store_uri, + :tracking_server_size, + :mlflow_version, + :role_arn, + :automatic_model_registration, + :weekly_maintenance_window_start, + :tags) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_arn + # The ARN of the tracking server. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateMlflowTrackingServerResponse AWS API Documentation + # + class CreateMlflowTrackingServerResponse < Struct.new( + :tracking_server_arn) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] job_definition_name # The name of the bias job definition. The name must be unique within # an Amazon Web Services Region in the Amazon Web Services account. @@ -8611,6 +8766,41 @@ class CreatePresignedDomainUrlResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # The name of the tracking server to connect to your MLflow UI. + # @return [String] + # + # @!attribute [rw] expires_in_seconds + # The duration in seconds that your presigned URL is valid. The + # presigned URL can be used only once. + # @return [Integer] + # + # @!attribute [rw] session_expiration_duration_in_seconds + # The duration in seconds that your MLflow UI session is valid. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreatePresignedMlflowTrackingServerUrlRequest AWS API Documentation + # + class CreatePresignedMlflowTrackingServerUrlRequest < Struct.new( + :tracking_server_name, + :expires_in_seconds, + :session_expiration_duration_in_seconds) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] authorized_url + # A presigned URL with an authorization token. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreatePresignedMlflowTrackingServerUrlResponse AWS API Documentation + # + class CreatePresignedMlflowTrackingServerUrlResponse < Struct.new( + :authorized_url) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] notebook_instance_name # The name of the notebook instance. # @return [String] @@ -9593,7 +9783,7 @@ class CreateUserProfileResponse < Struct.new( # @!attribute [rw] source_ip_config # A list of IP address ranges ([CIDRs][1]). Used to create an allow # list of IP addresses for a private workforce. Workers will only be - # able to login to their worker portal from an IP address within this + # able to log in to their worker portal from an IP address within this # range. By default, a workforce isn't restricted to specific IP # addresses. # @@ -10953,6 +11143,31 @@ class DeleteInferenceExperimentResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # The name of the the tracking server to delete. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteMlflowTrackingServerRequest AWS API Documentation + # + class DeleteMlflowTrackingServerRequest < Struct.new( + :tracking_server_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_arn + # A `TrackingServerArn` object, the ARN of the tracking server that is + # deleted if successfully found. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteMlflowTrackingServerResponse AWS API Documentation + # + class DeleteMlflowTrackingServerResponse < Struct.new( + :tracking_server_arn) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] job_definition_name # The name of the model bias job definition to delete. # @return [String] @@ -14861,6 +15076,110 @@ class DescribeLineageGroupResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # The name of the MLflow Tracking Server to describe. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeMlflowTrackingServerRequest AWS API Documentation + # + class DescribeMlflowTrackingServerRequest < Struct.new( + :tracking_server_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_arn + # The ARN of the described tracking server. + # @return [String] + # + # @!attribute [rw] tracking_server_name + # The name of the described tracking server. + # @return [String] + # + # @!attribute [rw] artifact_store_uri + # The S3 URI of the general purpose bucket used as the MLflow Tracking + # Server artifact store. + # @return [String] + # + # @!attribute [rw] tracking_server_size + # The size of the described tracking server. + # @return [String] + # + # @!attribute [rw] mlflow_version + # The MLflow version used for the described tracking server. + # @return [String] + # + # @!attribute [rw] role_arn + # The Amazon Resource Name (ARN) for an IAM role in your account that + # the described MLflow Tracking Server uses to access the artifact + # store in Amazon S3. + # @return [String] + # + # @!attribute [rw] tracking_server_status + # The current creation status of the described MLflow Tracking Server. + # @return [String] + # + # @!attribute [rw] is_active + # Whether the described MLflow Tracking Server is currently active. + # @return [String] + # + # @!attribute [rw] tracking_server_url + # The URL to connect to the MLflow user interface for the described + # tracking server. + # @return [String] + # + # @!attribute [rw] weekly_maintenance_window_start + # The day and time of the week when weekly maintenance occurs on the + # described tracking server. + # @return [String] + # + # @!attribute [rw] automatic_model_registration + # Whether automatic registration of new MLflow models to the SageMaker + # Model Registry is enabled. + # @return [Boolean] + # + # @!attribute [rw] creation_time + # The timestamp of when the described MLflow Tracking Server was + # created. + # @return [Time] + # + # @!attribute [rw] created_by + # Information about the user who created or modified an experiment, + # trial, trial component, lineage group, project, or model card. + # @return [Types::UserContext] + # + # @!attribute [rw] last_modified_time + # The timestamp of when the described MLflow Tracking Server was last + # modified. + # @return [Time] + # + # @!attribute [rw] last_modified_by + # Information about the user who created or modified an experiment, + # trial, trial component, lineage group, project, or model card. + # @return [Types::UserContext] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeMlflowTrackingServerResponse AWS API Documentation + # + class DescribeMlflowTrackingServerResponse < Struct.new( + :tracking_server_arn, + :tracking_server_name, + :artifact_store_uri, + :tracking_server_size, + :mlflow_version, + :role_arn, + :tracking_server_status, + :is_active, + :tracking_server_url, + :weekly_maintenance_window_start, + :automatic_model_registration, + :creation_time, + :created_by, + :last_modified_time, + :last_modified_by) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] job_definition_name # The name of the model bias job definition. The name must be unique # within an Amazon Web Services Region in the Amazon Web Services @@ -27726,6 +28045,92 @@ class ListLineageGroupsResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] created_after + # Use the `CreatedAfter` filter to only list tracking servers created + # after a specific date and time. Listed tracking servers are shown + # with a date and time such as `"2024-03-16T01:46:56+00:00"`. The + # `CreatedAfter` parameter takes in a Unix timestamp. To convert a + # date and time into a Unix timestamp, see [EpochConverter][1]. + # + # + # + # [1]: https://www.epochconverter.com/ + # @return [Time] + # + # @!attribute [rw] created_before + # Use the `CreatedBefore` filter to only list tracking servers created + # before a specific date and time. Listed tracking servers are shown + # with a date and time such as `"2024-03-16T01:46:56+00:00"`. The + # `CreatedBefore` parameter takes in a Unix timestamp. To convert a + # date and time into a Unix timestamp, see [EpochConverter][1]. + # + # + # + # [1]: https://www.epochconverter.com/ + # @return [Time] + # + # @!attribute [rw] tracking_server_status + # Filter for tracking servers with a specified creation status. + # @return [String] + # + # @!attribute [rw] mlflow_version + # Filter for tracking servers using the specified MLflow version. + # @return [String] + # + # @!attribute [rw] sort_by + # Filter for trackings servers sorting by name, creation time, or + # creation status. + # @return [String] + # + # @!attribute [rw] sort_order + # Change the order of the listed tracking servers. By default, + # tracking servers are listed in `Descending` order by creation time. + # To change the list order, you can specify `SortOrder` to be + # `Ascending`. + # @return [String] + # + # @!attribute [rw] next_token + # If the previous response was truncated, you will receive this token. + # Use it in your next request to receive the next set of results. + # @return [String] + # + # @!attribute [rw] max_results + # The maximum number of tracking servers to list. + # @return [Integer] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListMlflowTrackingServersRequest AWS API Documentation + # + class ListMlflowTrackingServersRequest < Struct.new( + :created_after, + :created_before, + :tracking_server_status, + :mlflow_version, + :sort_by, + :sort_order, + :next_token, + :max_results) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_summaries + # A list of tracking servers according to chosen filters. + # @return [Array] + # + # @!attribute [rw] next_token + # If the previous response was truncated, you will receive this token. + # Use it in your next request to receive the next set of results. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListMlflowTrackingServersResponse AWS API Documentation + # + class ListMlflowTrackingServersResponse < Struct.new( + :tracking_server_summaries, + :next_token) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] endpoint_name # Name of the endpoint to monitor for model bias. # @return [String] @@ -39458,7 +39863,7 @@ class SourceAlgorithmSpecification < Struct.new( # A list of IP address ranges ([CIDRs][1]). Used to create an allow list # of IP addresses for a private workforce. Workers will only be able to - # login to their worker portal from an IP address within this range. By + # log in to their worker portal from an IP address within this range. By # default, a workforce isn't restricted to specific IP addresses. # # @@ -39755,6 +40160,30 @@ class StartInferenceExperimentResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # The name of the tracking server to start. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StartMlflowTrackingServerRequest AWS API Documentation + # + class StartMlflowTrackingServerRequest < Struct.new( + :tracking_server_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_arn + # The ARN of the started tracking server. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StartMlflowTrackingServerResponse AWS API Documentation + # + class StartMlflowTrackingServerResponse < Struct.new( + :tracking_server_arn) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] monitoring_schedule_name # The name of the schedule to start. # @return [String] @@ -39987,6 +40416,30 @@ class StopLabelingJobRequest < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # The name of the tracking server to stop. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopMlflowTrackingServerRequest AWS API Documentation + # + class StopMlflowTrackingServerRequest < Struct.new( + :tracking_server_name) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_arn + # The ARN of the stopped tracking server. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/StopMlflowTrackingServerResponse AWS API Documentation + # + class StopMlflowTrackingServerResponse < Struct.new( + :tracking_server_arn) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] monitoring_schedule_name # The name of the schedule to stop. # @return [String] @@ -40188,7 +40641,7 @@ class StudioLifecycleConfigDetails < Struct.new( include Aws::Structure end - # Describes a work team of a vendor that does the a labelling job. + # Describes a work team of a vendor that does the labelling job. # # @!attribute [rw] workteam_arn # The Amazon Resource Name (ARN) of the vendor that you have @@ -41063,6 +41516,50 @@ class TimeSeriesTransformations < Struct.new( include Aws::Structure end + # The summary of the tracking server to list. + # + # @!attribute [rw] tracking_server_arn + # The ARN of a listed tracking server. + # @return [String] + # + # @!attribute [rw] tracking_server_name + # The name of a listed tracking server. + # @return [String] + # + # @!attribute [rw] creation_time + # The creation time of a listed tracking server. + # @return [Time] + # + # @!attribute [rw] last_modified_time + # The last modified time of a listed tracking server. + # @return [Time] + # + # @!attribute [rw] tracking_server_status + # The creation status of a listed tracking server. + # @return [String] + # + # @!attribute [rw] is_active + # The activity status of a listed tracking server. + # @return [String] + # + # @!attribute [rw] mlflow_version + # The MLflow version used for a listed tracking server. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/TrackingServerSummary AWS API Documentation + # + class TrackingServerSummary < Struct.new( + :tracking_server_arn, + :tracking_server_name, + :creation_time, + :last_modified_time, + :tracking_server_status, + :is_active, + :mlflow_version) + SENSITIVE = [] + include Aws::Structure + end + # Defines the traffic pattern of the load test. # # @!attribute [rw] traffic_type @@ -44111,6 +44608,57 @@ class UpdateInferenceExperimentResponse < Struct.new( include Aws::Structure end + # @!attribute [rw] tracking_server_name + # The name of the MLflow Tracking Server to update. + # @return [String] + # + # @!attribute [rw] artifact_store_uri + # The new S3 URI for the general purpose bucket to use as the artifact + # store for the MLflow Tracking Server. + # @return [String] + # + # @!attribute [rw] tracking_server_size + # The new size for the MLflow Tracking Server. + # @return [String] + # + # @!attribute [rw] automatic_model_registration + # Whether to enable or disable automatic registration of new MLflow + # models to the SageMaker Model Registry. To enable automatic model + # registration, set this value to `True`. To disable automatic model + # registration, set this value to `False`. If not specified, + # `AutomaticModelRegistration` defaults to `False` + # @return [Boolean] + # + # @!attribute [rw] weekly_maintenance_window_start + # The new weekly maintenance window start day and time to update. The + # maintenance window day and time should be in Coordinated Universal + # Time (UTC) 24-hour standard time. For example: TUE:03:30. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateMlflowTrackingServerRequest AWS API Documentation + # + class UpdateMlflowTrackingServerRequest < Struct.new( + :tracking_server_name, + :artifact_store_uri, + :tracking_server_size, + :automatic_model_registration, + :weekly_maintenance_window_start) + SENSITIVE = [] + include Aws::Structure + end + + # @!attribute [rw] tracking_server_arn + # The ARN of the updated MLflow Tracking Server. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateMlflowTrackingServerResponse AWS API Documentation + # + class UpdateMlflowTrackingServerResponse < Struct.new( + :tracking_server_arn) + SENSITIVE = [] + include Aws::Structure + end + # @!attribute [rw] model_card_name # The name or Amazon Resource Name (ARN) of the model card to update. # @return [String] @@ -45545,7 +46093,7 @@ class Workforce < Struct.new( # @return [String] # # @!attribute [rw] security_group_ids - # The VPC security group IDs, in the form sg-xxxxxxxx. The security + # The VPC security group IDs, in the form `sg-xxxxxxxx`. The security # groups must be for the same VPC as specified in the subnet. # @return [Array] # diff --git a/gems/aws-sdk-sagemaker/sig/client.rbs b/gems/aws-sdk-sagemaker/sig/client.rbs index 8f1fb8a0c7e..f00a4fe6264 100644 --- a/gems/aws-sdk-sagemaker/sig/client.rbs +++ b/gems/aws-sdk-sagemaker/sig/client.rbs @@ -695,7 +695,14 @@ module Aws on_create: ::String }, execution_role: ::String, - threads_per_core: ::Integer? + threads_per_core: ::Integer?, + instance_storage_configs: Array[ + { + ebs_volume_config: { + volume_size_in_gb: ::Integer + }? + }, + ]? }, ], ?vpc_config: { @@ -2314,6 +2321,28 @@ module Aws ) -> _CreateLabelingJobResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateLabelingJobResponseSuccess + interface _CreateMlflowTrackingServerResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::CreateMlflowTrackingServerResponse] + def tracking_server_arn: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#create_mlflow_tracking_server-instance_method + def create_mlflow_tracking_server: ( + tracking_server_name: ::String, + artifact_store_uri: ::String, + ?tracking_server_size: ("Small" | "Medium" | "Large"), + ?mlflow_version: ::String, + role_arn: ::String, + ?automatic_model_registration: bool, + ?weekly_maintenance_window_start: ::String, + ?tags: Array[ + { + key: ::String, + value: ::String + }, + ] + ) -> _CreateMlflowTrackingServerResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateMlflowTrackingServerResponseSuccess + interface _CreateModelResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateModelOutput] def model_arn: () -> ::String @@ -3240,6 +3269,18 @@ module Aws ) -> _CreatePresignedDomainUrlResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreatePresignedDomainUrlResponseSuccess + interface _CreatePresignedMlflowTrackingServerUrlResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::CreatePresignedMlflowTrackingServerUrlResponse] + def authorized_url: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#create_presigned_mlflow_tracking_server_url-instance_method + def create_presigned_mlflow_tracking_server_url: ( + tracking_server_name: ::String, + ?expires_in_seconds: ::Integer, + ?session_expiration_duration_in_seconds: ::Integer + ) -> _CreatePresignedMlflowTrackingServerUrlResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreatePresignedMlflowTrackingServerUrlResponseSuccess + interface _CreatePresignedNotebookInstanceUrlResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreatePresignedNotebookInstanceUrlOutput] def authorized_url: () -> ::String @@ -4278,6 +4319,16 @@ module Aws ) -> _DeleteInferenceExperimentResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteInferenceExperimentResponseSuccess + interface _DeleteMlflowTrackingServerResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::DeleteMlflowTrackingServerResponse] + def tracking_server_arn: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#delete_mlflow_tracking_server-instance_method + def delete_mlflow_tracking_server: ( + tracking_server_name: ::String + ) -> _DeleteMlflowTrackingServerResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteMlflowTrackingServerResponseSuccess + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#delete_model-instance_method def delete_model: ( model_name: ::String @@ -5197,6 +5248,30 @@ module Aws ) -> _DescribeLineageGroupResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeLineageGroupResponseSuccess + interface _DescribeMlflowTrackingServerResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::DescribeMlflowTrackingServerResponse] + def tracking_server_arn: () -> ::String + def tracking_server_name: () -> ::String + def artifact_store_uri: () -> ::String + def tracking_server_size: () -> ("Small" | "Medium" | "Large") + def mlflow_version: () -> ::String + def role_arn: () -> ::String + def tracking_server_status: () -> ("Creating" | "Created" | "CreateFailed" | "Updating" | "Updated" | "UpdateFailed" | "Deleting" | "DeleteFailed" | "Stopping" | "Stopped" | "StopFailed" | "Starting" | "Started" | "StartFailed" | "MaintenanceInProgress" | "MaintenanceComplete" | "MaintenanceFailed") + def is_active: () -> ("Active" | "Inactive") + def tracking_server_url: () -> ::String + def weekly_maintenance_window_start: () -> ::String + def automatic_model_registration: () -> bool + def creation_time: () -> ::Time + def created_by: () -> Types::UserContext + def last_modified_time: () -> ::Time + def last_modified_by: () -> Types::UserContext + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#describe_mlflow_tracking_server-instance_method + def describe_mlflow_tracking_server: ( + tracking_server_name: ::String + ) -> _DescribeMlflowTrackingServerResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeMlflowTrackingServerResponseSuccess + interface _DescribeModelResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DescribeModelOutput] def model_name: () -> ::String @@ -6608,6 +6683,24 @@ module Aws ) -> _ListLineageGroupsResponseSuccess | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListLineageGroupsResponseSuccess + interface _ListMlflowTrackingServersResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::ListMlflowTrackingServersResponse] + def tracking_server_summaries: () -> ::Array[Types::TrackingServerSummary] + def next_token: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#list_mlflow_tracking_servers-instance_method + def list_mlflow_tracking_servers: ( + ?created_after: ::Time, + ?created_before: ::Time, + ?tracking_server_status: ("Creating" | "Created" | "CreateFailed" | "Updating" | "Updated" | "UpdateFailed" | "Deleting" | "DeleteFailed" | "Stopping" | "Stopped" | "StopFailed" | "Starting" | "Started" | "StartFailed" | "MaintenanceInProgress" | "MaintenanceComplete" | "MaintenanceFailed"), + ?mlflow_version: ::String, + ?sort_by: ("Name" | "CreationTime" | "Status"), + ?sort_order: ("Ascending" | "Descending"), + ?next_token: ::String, + ?max_results: ::Integer + ) -> _ListMlflowTrackingServersResponseSuccess + | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListMlflowTrackingServersResponseSuccess + interface _ListModelBiasJobDefinitionsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListModelBiasJobDefinitionsResponse] def job_definition_summaries: () -> ::Array[Types::MonitoringJobDefinitionSummary] @@ -7428,6 +7521,16 @@ module Aws ) -> _StartInferenceExperimentResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartInferenceExperimentResponseSuccess + interface _StartMlflowTrackingServerResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StartMlflowTrackingServerResponse] + def tracking_server_arn: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#start_mlflow_tracking_server-instance_method + def start_mlflow_tracking_server: ( + tracking_server_name: ::String + ) -> _StartMlflowTrackingServerResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartMlflowTrackingServerResponseSuccess + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#start_monitoring_schedule-instance_method def start_monitoring_schedule: ( monitoring_schedule_name: ::String @@ -7539,6 +7642,16 @@ module Aws ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure] + interface _StopMlflowTrackingServerResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::StopMlflowTrackingServerResponse] + def tracking_server_arn: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#stop_mlflow_tracking_server-instance_method + def stop_mlflow_tracking_server: ( + tracking_server_name: ::String + ) -> _StopMlflowTrackingServerResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StopMlflowTrackingServerResponseSuccess + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#stop_monitoring_schedule-instance_method def stop_monitoring_schedule: ( monitoring_schedule_name: ::String @@ -7671,7 +7784,14 @@ module Aws on_create: ::String }, execution_role: ::String, - threads_per_core: ::Integer? + threads_per_core: ::Integer?, + instance_storage_configs: Array[ + { + ebs_volume_config: { + volume_size_in_gb: ::Integer + }? + }, + ]? }, ] ) -> _UpdateClusterResponseSuccess @@ -8282,6 +8402,20 @@ module Aws ) -> _UpdateInferenceExperimentResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateInferenceExperimentResponseSuccess + interface _UpdateMlflowTrackingServerResponseSuccess + include ::Seahorse::Client::_ResponseSuccess[Types::UpdateMlflowTrackingServerResponse] + def tracking_server_arn: () -> ::String + end + # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SageMaker/Client.html#update_mlflow_tracking_server-instance_method + def update_mlflow_tracking_server: ( + tracking_server_name: ::String, + ?artifact_store_uri: ::String, + ?tracking_server_size: ("Small" | "Medium" | "Large"), + ?automatic_model_registration: bool, + ?weekly_maintenance_window_start: ::String + ) -> _UpdateMlflowTrackingServerResponseSuccess + | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateMlflowTrackingServerResponseSuccess + interface _UpdateModelCardResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateModelCardResponse] def model_card_arn: () -> ::String diff --git a/gems/aws-sdk-sagemaker/sig/types.rbs b/gems/aws-sdk-sagemaker/sig/types.rbs index e2e4d55c08d..a789d3fe458 100644 --- a/gems/aws-sdk-sagemaker/sig/types.rbs +++ b/gems/aws-sdk-sagemaker/sig/types.rbs @@ -673,6 +673,11 @@ module Aws::SageMaker SENSITIVE: [] end + class ClusterEbsVolumeConfig + attr_accessor volume_size_in_gb: ::Integer + SENSITIVE: [] + end + class ClusterInstanceGroupDetails attr_accessor current_count: ::Integer attr_accessor target_count: ::Integer @@ -681,6 +686,7 @@ module Aws::SageMaker attr_accessor life_cycle_config: Types::ClusterLifeCycleConfig attr_accessor execution_role: ::String attr_accessor threads_per_core: ::Integer + attr_accessor instance_storage_configs: ::Array[Types::ClusterInstanceStorageConfig] SENSITIVE: [] end @@ -691,6 +697,7 @@ module Aws::SageMaker attr_accessor life_cycle_config: Types::ClusterLifeCycleConfig attr_accessor execution_role: ::String attr_accessor threads_per_core: ::Integer + attr_accessor instance_storage_configs: ::Array[Types::ClusterInstanceStorageConfig] SENSITIVE: [] end @@ -706,6 +713,17 @@ module Aws::SageMaker SENSITIVE: [] end + class ClusterInstanceStorageConfig + attr_accessor ebs_volume_config: Types::ClusterEbsVolumeConfig + attr_accessor unknown: untyped + SENSITIVE: [] + + class EbsVolumeConfig < ClusterInstanceStorageConfig + end + class Unknown < ClusterInstanceStorageConfig + end + end + class ClusterLifeCycleConfig attr_accessor source_s3_uri: ::String attr_accessor on_create: ::String @@ -720,6 +738,7 @@ module Aws::SageMaker attr_accessor launch_time: ::Time attr_accessor life_cycle_config: Types::ClusterLifeCycleConfig attr_accessor threads_per_core: ::Integer + attr_accessor instance_storage_configs: ::Array[Types::ClusterInstanceStorageConfig] attr_accessor private_primary_ip: ::String attr_accessor private_dns_hostname: ::String attr_accessor placement: Types::ClusterInstancePlacement @@ -1367,6 +1386,23 @@ module Aws::SageMaker SENSITIVE: [] end + class CreateMlflowTrackingServerRequest + attr_accessor tracking_server_name: ::String + attr_accessor artifact_store_uri: ::String + attr_accessor tracking_server_size: ("Small" | "Medium" | "Large") + attr_accessor mlflow_version: ::String + attr_accessor role_arn: ::String + attr_accessor automatic_model_registration: bool + attr_accessor weekly_maintenance_window_start: ::String + attr_accessor tags: ::Array[Types::Tag] + SENSITIVE: [] + end + + class CreateMlflowTrackingServerResponse + attr_accessor tracking_server_arn: ::String + SENSITIVE: [] + end + class CreateModelBiasJobDefinitionRequest attr_accessor job_definition_name: ::String attr_accessor model_bias_baseline_config: Types::ModelBiasBaselineConfig @@ -1593,6 +1629,18 @@ module Aws::SageMaker SENSITIVE: [] end + class CreatePresignedMlflowTrackingServerUrlRequest + attr_accessor tracking_server_name: ::String + attr_accessor expires_in_seconds: ::Integer + attr_accessor session_expiration_duration_in_seconds: ::Integer + SENSITIVE: [] + end + + class CreatePresignedMlflowTrackingServerUrlResponse + attr_accessor authorized_url: ::String + SENSITIVE: [] + end + class CreatePresignedNotebookInstanceUrlInput attr_accessor notebook_instance_name: ::String attr_accessor session_expiration_duration_in_seconds: ::Integer @@ -2168,6 +2216,16 @@ module Aws::SageMaker SENSITIVE: [] end + class DeleteMlflowTrackingServerRequest + attr_accessor tracking_server_name: ::String + SENSITIVE: [] + end + + class DeleteMlflowTrackingServerResponse + attr_accessor tracking_server_arn: ::String + SENSITIVE: [] + end + class DeleteModelBiasJobDefinitionRequest attr_accessor job_definition_name: ::String SENSITIVE: [] @@ -3109,6 +3167,30 @@ module Aws::SageMaker SENSITIVE: [] end + class DescribeMlflowTrackingServerRequest + attr_accessor tracking_server_name: ::String + SENSITIVE: [] + end + + class DescribeMlflowTrackingServerResponse + attr_accessor tracking_server_arn: ::String + attr_accessor tracking_server_name: ::String + attr_accessor artifact_store_uri: ::String + attr_accessor tracking_server_size: ("Small" | "Medium" | "Large") + attr_accessor mlflow_version: ::String + attr_accessor role_arn: ::String + attr_accessor tracking_server_status: ("Creating" | "Created" | "CreateFailed" | "Updating" | "Updated" | "UpdateFailed" | "Deleting" | "DeleteFailed" | "Stopping" | "Stopped" | "StopFailed" | "Starting" | "Started" | "StartFailed" | "MaintenanceInProgress" | "MaintenanceComplete" | "MaintenanceFailed") + attr_accessor is_active: ("Active" | "Inactive") + attr_accessor tracking_server_url: ::String + attr_accessor weekly_maintenance_window_start: ::String + attr_accessor automatic_model_registration: bool + attr_accessor creation_time: ::Time + attr_accessor created_by: Types::UserContext + attr_accessor last_modified_time: ::Time + attr_accessor last_modified_by: Types::UserContext + SENSITIVE: [] + end + class DescribeModelBiasJobDefinitionRequest attr_accessor job_definition_name: ::String SENSITIVE: [] @@ -5701,6 +5783,24 @@ module Aws::SageMaker SENSITIVE: [] end + class ListMlflowTrackingServersRequest + attr_accessor created_after: ::Time + attr_accessor created_before: ::Time + attr_accessor tracking_server_status: ("Creating" | "Created" | "CreateFailed" | "Updating" | "Updated" | "UpdateFailed" | "Deleting" | "DeleteFailed" | "Stopping" | "Stopped" | "StopFailed" | "Starting" | "Started" | "StartFailed" | "MaintenanceInProgress" | "MaintenanceComplete" | "MaintenanceFailed") + attr_accessor mlflow_version: ::String + attr_accessor sort_by: ("Name" | "CreationTime" | "Status") + attr_accessor sort_order: ("Ascending" | "Descending") + attr_accessor next_token: ::String + attr_accessor max_results: ::Integer + SENSITIVE: [] + end + + class ListMlflowTrackingServersResponse + attr_accessor tracking_server_summaries: ::Array[Types::TrackingServerSummary] + attr_accessor next_token: ::String + SENSITIVE: [] + end + class ListModelBiasJobDefinitionsRequest attr_accessor endpoint_name: ::String attr_accessor sort_by: ("Name" | "CreationTime") @@ -8261,6 +8361,16 @@ module Aws::SageMaker SENSITIVE: [] end + class StartMlflowTrackingServerRequest + attr_accessor tracking_server_name: ::String + SENSITIVE: [] + end + + class StartMlflowTrackingServerResponse + attr_accessor tracking_server_arn: ::String + SENSITIVE: [] + end + class StartMonitoringScheduleRequest attr_accessor monitoring_schedule_name: ::String SENSITIVE: [] @@ -8337,6 +8447,16 @@ module Aws::SageMaker SENSITIVE: [] end + class StopMlflowTrackingServerRequest + attr_accessor tracking_server_name: ::String + SENSITIVE: [] + end + + class StopMlflowTrackingServerResponse + attr_accessor tracking_server_arn: ::String + SENSITIVE: [] + end + class StopMonitoringScheduleRequest attr_accessor monitoring_schedule_name: ::String SENSITIVE: [] @@ -8524,6 +8644,17 @@ module Aws::SageMaker SENSITIVE: [] end + class TrackingServerSummary + attr_accessor tracking_server_arn: ::String + attr_accessor tracking_server_name: ::String + attr_accessor creation_time: ::Time + attr_accessor last_modified_time: ::Time + attr_accessor tracking_server_status: ("Creating" | "Created" | "CreateFailed" | "Updating" | "Updated" | "UpdateFailed" | "Deleting" | "DeleteFailed" | "Stopping" | "Stopped" | "StopFailed" | "Starting" | "Started" | "StartFailed" | "MaintenanceInProgress" | "MaintenanceComplete" | "MaintenanceFailed") + attr_accessor is_active: ("Active" | "Inactive") + attr_accessor mlflow_version: ::String + SENSITIVE: [] + end + class TrafficPattern attr_accessor traffic_type: ("PHASES" | "STAIRS") attr_accessor phases: ::Array[Types::Phase] @@ -9157,6 +9288,20 @@ module Aws::SageMaker SENSITIVE: [] end + class UpdateMlflowTrackingServerRequest + attr_accessor tracking_server_name: ::String + attr_accessor artifact_store_uri: ::String + attr_accessor tracking_server_size: ("Small" | "Medium" | "Large") + attr_accessor automatic_model_registration: bool + attr_accessor weekly_maintenance_window_start: ::String + SENSITIVE: [] + end + + class UpdateMlflowTrackingServerResponse + attr_accessor tracking_server_arn: ::String + SENSITIVE: [] + end + class UpdateModelCardRequest attr_accessor model_card_name: ::String attr_accessor content: ::String diff --git a/gems/aws-sdk-shield/CHANGELOG.md b/gems/aws-sdk-shield/CHANGELOG.md index a79f7f1d513..c34af49cfc2 100644 --- a/gems/aws-sdk-shield/CHANGELOG.md +++ b/gems/aws-sdk-shield/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.65.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.64.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-shield/VERSION b/gems/aws-sdk-shield/VERSION index 9405730420f..902c74186fb 100644 --- a/gems/aws-sdk-shield/VERSION +++ b/gems/aws-sdk-shield/VERSION @@ -1 +1 @@ -1.64.0 +1.65.0 diff --git a/gems/aws-sdk-shield/features/smoke.feature b/gems/aws-sdk-shield/features/smoke.feature new file mode 100644 index 00000000000..db1f3466374 --- /dev/null +++ b/gems/aws-sdk-shield/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Shield + + @shield @smoke + Scenario: ListAttacksSuccess + Given I create a 'Aws::Shield' client with config: + """ +{"region":"us-east-1"} + """ + When I call the operation 'list_attacks' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-shield/lib/aws-sdk-shield.rb b/gems/aws-sdk-shield/lib/aws-sdk-shield.rb index c363f7dfb58..b47086997be 100644 --- a/gems/aws-sdk-shield/lib/aws-sdk-shield.rb +++ b/gems/aws-sdk-shield/lib/aws-sdk-shield.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Shield - GEM_VERSION = '1.64.0' + GEM_VERSION = '1.65.0' end diff --git a/gems/aws-sdk-shield/lib/aws-sdk-shield/client.rb b/gems/aws-sdk-shield/lib/aws-sdk-shield/client.rb index ecd49d52bc5..b6bfe56712f 100644 --- a/gems/aws-sdk-shield/lib/aws-sdk-shield/client.rb +++ b/gems/aws-sdk-shield/lib/aws-sdk-shield/client.rb @@ -1953,7 +1953,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-shield' - context[:gem_version] = '1.64.0' + context[:gem_version] = '1.65.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-shield/lib/aws-sdk-shield/client_api.rb b/gems/aws-sdk-shield/lib/aws-sdk-shield/client_api.rb index 4e674e77646..c29f400922e 100644 --- a/gems/aws-sdk-shield/lib/aws-sdk-shield/client_api.rb +++ b/gems/aws-sdk-shield/lib/aws-sdk-shield/client_api.rb @@ -671,9 +671,11 @@ module ClientApi api.metadata = { "apiVersion" => "2016-06-02", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "shield", "jsonVersion" => "1.1", "protocol" => "json", + "protocols" => ["json"], "serviceAbbreviation" => "AWS Shield", "serviceFullName" => "AWS Shield", "serviceId" => "Shield", diff --git a/gems/aws-sdk-shield/lib/aws-sdk-shield/endpoint_provider.rb b/gems/aws-sdk-shield/lib/aws-sdk-shield/endpoint_provider.rb index b29149183a9..8c99bf37eb4 100644 --- a/gems/aws-sdk-shield/lib/aws-sdk-shield/endpoint_provider.rb +++ b/gems/aws-sdk-shield/lib/aws-sdk-shield/endpoint_provider.rb @@ -38,7 +38,7 @@ def resolve_endpoint(parameters) raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both" end if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) + if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true) return Aws::Endpoints::Endpoint.new(url: "https://shield-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) end raise ArgumentError, "FIPS is enabled but this partition does not support FIPS" diff --git a/gems/aws-sdk-snowball/CHANGELOG.md b/gems/aws-sdk-snowball/CHANGELOG.md index 34f74df6397..8707cf465a7 100644 --- a/gems/aws-sdk-snowball/CHANGELOG.md +++ b/gems/aws-sdk-snowball/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.70.0 (2024-06-18) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.69.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-snowball/VERSION b/gems/aws-sdk-snowball/VERSION index 49349856550..832e9afb6c1 100644 --- a/gems/aws-sdk-snowball/VERSION +++ b/gems/aws-sdk-snowball/VERSION @@ -1 +1 @@ -1.69.0 +1.70.0 diff --git a/gems/aws-sdk-snowball/features/smoke.feature b/gems/aws-sdk-snowball/features/smoke.feature new file mode 100644 index 00000000000..ceecc2f2f1a --- /dev/null +++ b/gems/aws-sdk-snowball/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Snowball + + @snowball @smoke + Scenario: DescribeAddressesSuccess + Given I create a 'Aws::Snowball' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_addresses' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-snowball/lib/aws-sdk-snowball.rb b/gems/aws-sdk-snowball/lib/aws-sdk-snowball.rb index 5491e801c35..c5bf3c9ebda 100644 --- a/gems/aws-sdk-snowball/lib/aws-sdk-snowball.rb +++ b/gems/aws-sdk-snowball/lib/aws-sdk-snowball.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Snowball - GEM_VERSION = '1.69.0' + GEM_VERSION = '1.70.0' end diff --git a/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client.rb b/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client.rb index 5b4b0cba295..5fa9f3c36f7 100644 --- a/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client.rb +++ b/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client.rb @@ -2918,7 +2918,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-snowball' - 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-snowball/lib/aws-sdk-snowball/client_api.rb b/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client_api.rb index fe511df040c..d166a2210fa 100644 --- a/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client_api.rb +++ b/gems/aws-sdk-snowball/lib/aws-sdk-snowball/client_api.rb @@ -684,9 +684,11 @@ module ClientApi api.metadata = { "apiVersion" => "2016-06-30", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "snowball", "jsonVersion" => "1.1", "protocol" => "json", + "protocols" => ["json"], "serviceAbbreviation" => "Amazon Snowball", "serviceFullName" => "Amazon Import/Export Snowball", "serviceId" => "Snowball", From 1d2698a66cd7832259b3adc3bc6d0c780c64ddf2 Mon Sep 17 00:00:00 2001 From: Matt Muller <53055821+mullermp@users.noreply.github.com> Date: Wed, 19 Jun 2024 13:10:55 -0400 Subject: [PATCH 2/3] Support array arguments for process credentials (#3048) --- gems/aws-sdk-core/CHANGELOG.md | 2 + .../lib/aws-sdk-core/process_credentials.rb | 72 ++++++++++++------- .../spec/aws/process_credentials_spec.rb | 72 ++++++++++++++----- gems/aws-sdk-core/spec/shared_spec_helper.rb | 3 +- 4 files changed, 104 insertions(+), 45 deletions(-) diff --git a/gems/aws-sdk-core/CHANGELOG.md b/gems/aws-sdk-core/CHANGELOG.md index 28ca17cac3c..c9c23784f74 100644 --- a/gems/aws-sdk-core/CHANGELOG.md +++ b/gems/aws-sdk-core/CHANGELOG.md @@ -1,6 +1,8 @@ Unreleased Changes ------------------ +* Issue - Support an array of string arguments for `Aws::ProcessCredentials` to be executed by `system`. + 3.197.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-core/lib/aws-sdk-core/process_credentials.rb b/gems/aws-sdk-core/lib/aws-sdk-core/process_credentials.rb index 0a778ef8423..6a5bdf458ef 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-core/process_credentials.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-core/process_credentials.rb @@ -2,9 +2,15 @@ module Aws # A credential provider that executes a given process and attempts - # to read its stdout to recieve a JSON payload containing the credentials. + # to read its stdout to receive a JSON payload containing the credentials. # - # credentials = Aws::ProcessCredentials.new('/usr/bin/credential_proc') + # credentials = Aws::ProcessCredentials.new(['/usr/bin/credential_proc']) + # ec2 = Aws::EC2::Client.new(credentials: credentials) + # + # Arguments should be provided as strings in the array, for example: + # + # process = ['/usr/bin/credential_proc', 'arg1', 'arg2'] + # credentials = Aws::ProcessCredentials.new(process) # ec2 = Aws::EC2::Client.new(credentials: credentials) # # Automatically handles refreshing credentials if an Expiration time is @@ -19,40 +25,49 @@ class ProcessCredentials # Creates a new ProcessCredentials object, which allows an # external process to be used as a credential provider. # - # @param [String] process Invocation string for process - # credentials provider. + # @param [Array, String] process An array of strings including + # the process name and its arguments to execute, or a single string to be + # executed by the shell (deprecated and insecure). def initialize(process) + if process.is_a?(String) + warn('Passing a single string to Aws::ProcessCredentials.new '\ + 'is insecure, please use use an array of system arguments instead') + end @process = process - @credentials = credentials_from_process(@process) + @credentials = credentials_from_process @async_refresh = false super end private - def credentials_from_process(proc_invocation) - begin - raw_out = `#{proc_invocation}` - process_status = $? - rescue Errno::ENOENT - raise Errors::InvalidProcessCredentialsPayload.new("Could not find process #{proc_invocation}") + + def credentials_from_process + r, w = IO.pipe + success = system(*@process, out: w) + w.close + raw_out = r.read + r.close + + unless success + raise Errors::InvalidProcessCredentialsPayload.new( + 'credential_process provider failure, the credential process had '\ + 'non zero exit status and failed to provide credentials' + ) end - if process_status.success? - begin - creds_json = Aws::Json.load(raw_out) - rescue Aws::Json::ParseError - raise Errors::InvalidProcessCredentialsPayload.new("Invalid JSON response") - end - payload_version = creds_json['Version'] - if payload_version == 1 - _parse_payload_format_v1(creds_json) - else - raise Errors::InvalidProcessCredentialsPayload.new("Invalid version #{payload_version} for credentials payload") - end - else - raise Errors::InvalidProcessCredentialsPayload.new('credential_process provider failure, the credential process had non zero exit status and failed to provide credentials') + begin + creds_json = Aws::Json.load(raw_out) + rescue Aws::Json::ParseError + raise Errors::InvalidProcessCredentialsPayload.new('Invalid JSON response') end + + payload_version = creds_json['Version'] + return _parse_payload_format_v1(creds_json) if payload_version == 1 + + raise Errors::InvalidProcessCredentialsPayload.new( + "Invalid version #{payload_version} for credentials payload" + ) end def _parse_payload_format_v1(creds_json) @@ -64,11 +79,14 @@ def _parse_payload_format_v1(creds_json) @expiration = creds_json['Expiration'] ? Time.iso8601(creds_json['Expiration']) : nil return creds if creds.set? - raise Errors::InvalidProcessCredentialsPayload.new("Invalid payload for JSON credentials version 1") + + raise Errors::InvalidProcessCredentialsPayload.new( + 'Invalid payload for JSON credentials version 1' + ) end def refresh - @credentials = credentials_from_process(@process) + @credentials = credentials_from_process end def near_expiration?(expiration_length) diff --git a/gems/aws-sdk-core/spec/aws/process_credentials_spec.rb b/gems/aws-sdk-core/spec/aws/process_credentials_spec.rb index f7f6b9c44e9..1ac8961196d 100644 --- a/gems/aws-sdk-core/spec/aws/process_credentials_spec.rb +++ b/gems/aws-sdk-core/spec/aws/process_credentials_spec.rb @@ -5,47 +5,87 @@ module Aws describe ProcessCredentials do - before(:each) do - stub_const('ENV', {}) + before do allow(Dir).to receive(:home).and_raise(ArgumentError) end - + it 'will read credentials from a process' do - creds = ProcessCredentials.new('echo \'{"Version":1,"AccessKeyId":"AK_PROC1","SecretAccessKey":"SECRET_AK_PROC1","SessionToken":"TOKEN_PROC1"}\'').credentials + process = %w[echo {"Version":1,"AccessKeyId":"AK_PROC1","SecretAccessKey":"SECRET_AK_PROC1","SessionToken":"TOKEN_PROC1"}] + creds = ProcessCredentials.new(process).credentials expect(creds.access_key_id).to eq('AK_PROC1') expect(creds.secret_access_key).to eq('SECRET_AK_PROC1') expect(creds.session_token).to eq('TOKEN_PROC1') end it 'will throw an error when invalid JSON is returned' do + process = %w[echo {"Version":3,"AccessKeyId":"","SecretAccessKey":""\'] expect { - creds = ProcessCredentials.new('echo \'{"Version":3,"AccessKeyId":"","SecretAccessKey":"","SessionToken":""\'').credentials + ProcessCredentials.new(process).credentials }.to raise_error(Errors::InvalidProcessCredentialsPayload) end - it 'will throw an error when the process credentials payload version is invalid' do + it 'will throw an error when the process credentials payload version is invalid' do + process = %w[echo {"Version":3,"AccessKeyId":"","SecretAccessKey":""}] expect { - creds = ProcessCredentials.new('echo \'{"Version":3,"AccessKeyId":"","SecretAccessKey":"","SessionToken":""}\'').credentials + ProcessCredentials.new(process).credentials }.to raise_error(Errors::InvalidProcessCredentialsPayload) end - it 'will throw an error when the process credentials payload is malformed' do + it 'will throw an error when the process credentials payload is malformed' do + process = %w[echo {"Version":1}] expect { - creds = ProcessCredentials.new('echo \'{"Version":1}\'').credentials + ProcessCredentials.new(process).credentials }.to raise_error(Errors::InvalidProcessCredentialsPayload) end - it 'will throw an error and expose the stderr output when the credential process has a nonzero exit status' do + it 'will throw an error when the credential process has a nonzero exit status' do + process = ['fake_proc'] expect { - creds = ProcessCredentials.new('>&2 echo "Credential Provider Error"; false').credentials + ProcessCredentials.new(process).credentials }.to raise_error(Errors::InvalidProcessCredentialsPayload) - .and output("Credential Provider Error\n").to_stderr_from_any_process end - it 'will throw an error when the credential process cant be found' do - expect { - creds = ProcessCredentials.new('fake_proc').credentials - }.to raise_error(Errors::InvalidProcessCredentialsPayload) + context 'legacy process string' do + before do + expect_any_instance_of(ProcessCredentials) + .to receive(:warn).with(/array of system arguments/) + end + + it 'will read credentials from a process' do + process = 'echo \'{"Version":1,"AccessKeyId":"AK_PROC1","SecretAccessKey":"SECRET_AK_PROC1","SessionToken":"TOKEN_PROC1"}\'' + creds = ProcessCredentials.new(process).credentials + expect(creds.access_key_id).to eq('AK_PROC1') + expect(creds.secret_access_key).to eq('SECRET_AK_PROC1') + expect(creds.session_token).to eq('TOKEN_PROC1') + end + + it 'will throw an error when invalid JSON is returned' do + process = 'echo \'{"Version":3,"AccessKeyId":"","SecretAccessKey":""\'' + expect { + ProcessCredentials.new(process).credentials + }.to raise_error(Errors::InvalidProcessCredentialsPayload) + end + + it 'will throw an error when the process credentials payload version is invalid' do + process = 'echo \'{"Version":3,"AccessKeyId":"","SecretAccessKey":""}\'' + expect { + ProcessCredentials.new(process).credentials + }.to raise_error(Errors::InvalidProcessCredentialsPayload) + end + + it 'will throw an error when the process credentials payload is malformed' do + process = 'echo \'{"Version":1}\'' + expect { + ProcessCredentials.new(process).credentials + }.to raise_error(Errors::InvalidProcessCredentialsPayload) + end + + it 'will throw an error when the credential process has a nonzero exit status' do + process = 'fake_proc' + expect { + ProcessCredentials.new(process).credentials + }.to raise_error(Errors::InvalidProcessCredentialsPayload) + end end end end diff --git a/gems/aws-sdk-core/spec/shared_spec_helper.rb b/gems/aws-sdk-core/spec/shared_spec_helper.rb index 7d8c6d835bd..70dd39ab60c 100644 --- a/gems/aws-sdk-core/spec/shared_spec_helper.rb +++ b/gems/aws-sdk-core/spec/shared_spec_helper.rb @@ -23,8 +23,7 @@ config.before(:each) do # Clear the current ENV to avoid loading credentials. - # This was previously mocked with stub_const but was provided a hash. - ENV.clear + ENV.keep_if { |k, _| k == 'PATH' } # disable loading credentials from shared file allow(Dir).to receive(:home).and_raise(ArgumentError) From f1b85a9837d3fc3113494b31807c3cd03f636be0 Mon Sep 17 00:00:00 2001 From: AWS SDK For Ruby Date: Wed, 19 Jun 2024 18:17:12 +0000 Subject: [PATCH 3/3] Updated API models and rebuilt service gems. --- apis/artifact/2018-05-10/api-2.json | 84 +++--- apis/artifact/2018-05-10/docs-2.json | 33 +-- apis/artifact/2018-05-10/examples-1.json | 113 ++++++++ apis/artifact/2018-05-10/waiters-2.json | 5 + apis/athena/2017-05-18/api-2.json | 3 +- apis/athena/2017-05-18/smoke-2.json | 16 ++ apis/cur/2017-01-06/api-2.json | 4 +- apis/cur/2017-01-06/smoke-2.json | 16 ++ apis/directconnect/2012-10-25/api-2.json | 4 +- .../2012-10-25/endpoint-rule-set-1.json | 40 +-- apis/directconnect/2012-10-25/smoke-2.json | 29 ++ apis/elastictranscoder/2012-09-25/api-2.json | 4 +- .../2012-09-25/endpoint-rule-set-1.json | 40 +-- .../elastictranscoder/2012-09-25/smoke-2.json | 16 ++ apis/opensearch/2021-01-01/api-2.json | 33 ++- apis/opensearch/2021-01-01/docs-2.json | 34 ++- gems/aws-partitions/CHANGELOG.md | 5 + gems/aws-partitions/VERSION | 2 +- gems/aws-partitions/partitions.json | 38 +++ gems/aws-sdk-artifact/CHANGELOG.md | 5 + gems/aws-sdk-artifact/VERSION | 2 +- gems/aws-sdk-artifact/lib/aws-sdk-artifact.rb | 3 +- .../lib/aws-sdk-artifact/client.rb | 177 +++++++++++-- .../lib/aws-sdk-artifact/client_api.rb | 60 +++-- .../lib/aws-sdk-artifact/errors.rb | 30 +-- .../lib/aws-sdk-artifact/types.rb | 249 +++++++++--------- .../lib/aws-sdk-artifact/waiters.rb | 15 ++ gems/aws-sdk-artifact/sig/client.rbs | 2 +- gems/aws-sdk-artifact/sig/errors.rbs | 6 +- gems/aws-sdk-artifact/sig/types.rbs | 57 ++-- gems/aws-sdk-athena/CHANGELOG.md | 5 + gems/aws-sdk-athena/VERSION | 2 +- gems/aws-sdk-athena/features/smoke.feature | 20 ++ gems/aws-sdk-athena/lib/aws-sdk-athena.rb | 2 +- .../lib/aws-sdk-athena/client.rb | 2 +- .../lib/aws-sdk-athena/client_api.rb | 1 + gems/aws-sdk-core/CHANGELOG.md | 3 + gems/aws-sdk-core/VERSION | 2 +- gems/aws-sdk-core/lib/aws-sdk-sso.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-sso/client.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb | 2 +- .../lib/aws-sdk-ssooidc/client.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-sts.rb | 2 +- gems/aws-sdk-core/lib/aws-sdk-sts/client.rb | 2 +- .../CHANGELOG.md | 5 + .../aws-sdk-costandusagereportservice/VERSION | 2 +- .../features/smoke.feature | 20 ++ .../lib/aws-sdk-costandusagereportservice.rb | 2 +- .../client.rb | 2 +- .../client_api.rb | 2 + gems/aws-sdk-directconnect/CHANGELOG.md | 5 + gems/aws-sdk-directconnect/VERSION | 2 +- .../features/smoke.feature | 32 +++ .../lib/aws-sdk-directconnect.rb | 2 +- .../lib/aws-sdk-directconnect/client.rb | 2 +- .../lib/aws-sdk-directconnect/client_api.rb | 2 + .../endpoint_provider.rb | 2 +- gems/aws-sdk-elastictranscoder/CHANGELOG.md | 5 + gems/aws-sdk-elastictranscoder/VERSION | 2 +- .../features/smoke.feature | 20 ++ .../lib/aws-sdk-elastictranscoder.rb | 2 +- .../lib/aws-sdk-elastictranscoder/client.rb | 2 +- .../aws-sdk-elastictranscoder/client_api.rb | 2 + .../endpoint_provider.rb | 2 +- gems/aws-sdk-opensearchservice/CHANGELOG.md | 5 + gems/aws-sdk-opensearchservice/VERSION | 2 +- .../lib/aws-sdk-opensearchservice.rb | 2 +- .../lib/aws-sdk-opensearchservice/client.rb | 44 +++- .../aws-sdk-opensearchservice/client_api.rb | 19 ++ .../lib/aws-sdk-opensearchservice/types.rb | 76 +++++- gems/aws-sdk-opensearchservice/sig/client.rbs | 12 + gems/aws-sdk-opensearchservice/sig/types.rbs | 18 ++ 72 files changed, 1109 insertions(+), 358 deletions(-) create mode 100644 apis/artifact/2018-05-10/waiters-2.json create mode 100644 apis/athena/2017-05-18/smoke-2.json create mode 100644 apis/cur/2017-01-06/smoke-2.json create mode 100644 apis/directconnect/2012-10-25/smoke-2.json create mode 100644 apis/elastictranscoder/2012-09-25/smoke-2.json create mode 100644 gems/aws-sdk-artifact/lib/aws-sdk-artifact/waiters.rb create mode 100644 gems/aws-sdk-athena/features/smoke.feature create mode 100644 gems/aws-sdk-costandusagereportservice/features/smoke.feature create mode 100644 gems/aws-sdk-directconnect/features/smoke.feature create mode 100644 gems/aws-sdk-elastictranscoder/features/smoke.feature diff --git a/apis/artifact/2018-05-10/api-2.json b/apis/artifact/2018-05-10/api-2.json index 38c6a17d5d4..72153884b1f 100644 --- a/apis/artifact/2018-05-10/api-2.json +++ b/apis/artifact/2018-05-10/api-2.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], "endpointPrefix":"artifact", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"AWS Artifact", "serviceId":"Artifact", "signatureVersion":"v4", @@ -304,15 +305,15 @@ "ListReportsResponse":{ "type":"structure", "members":{ - "nextToken":{"shape":"NextTokenAttribute"}, - "reports":{"shape":"ReportsList"} + "reports":{"shape":"ReportsList"}, + "nextToken":{"shape":"NextTokenAttribute"} } }, "LongStringAttribute":{ "type":"string", "max":1024, "min":1, - "pattern":"^[^<>]*$" + "pattern":"[^<>]*" }, "MaxResultsAttribute":{ "type":"integer", @@ -354,49 +355,50 @@ "ReportDetail":{ "type":"structure", "members":{ - "acceptanceType":{"shape":"AcceptanceType"}, - "arn":{"shape":"LongStringAttribute"}, - "category":{"shape":"ShortStringAttribute"}, - "companyName":{"shape":"ShortStringAttribute"}, - "createdAt":{"shape":"TimestampAttribute"}, - "deletedAt":{"shape":"TimestampAttribute"}, - "description":{"shape":"LongStringAttribute"}, "id":{"shape":"ReportId"}, - "lastModifiedAt":{"shape":"TimestampAttribute"}, "name":{"shape":"ShortStringAttribute"}, - "periodEnd":{"shape":"TimestampAttribute"}, + "description":{"shape":"LongStringAttribute"}, "periodStart":{"shape":"TimestampAttribute"}, - "productName":{"shape":"ShortStringAttribute"}, - "sequenceNumber":{"shape":"SequenceNumberAttribute"}, - "series":{"shape":"ShortStringAttribute"}, + "periodEnd":{"shape":"TimestampAttribute"}, + "createdAt":{"shape":"TimestampAttribute"}, + "lastModifiedAt":{"shape":"TimestampAttribute"}, + "deletedAt":{"shape":"TimestampAttribute"}, "state":{"shape":"PublishedState"}, - "statusMessage":{"shape":"StatusMessage"}, + "arn":{"shape":"LongStringAttribute"}, + "series":{"shape":"ShortStringAttribute"}, + "category":{"shape":"ShortStringAttribute"}, + "companyName":{"shape":"ShortStringAttribute"}, + "productName":{"shape":"ShortStringAttribute"}, "termArn":{"shape":"LongStringAttribute"}, + "version":{"shape":"VersionAttribute"}, + "acceptanceType":{"shape":"AcceptanceType"}, + "sequenceNumber":{"shape":"SequenceNumberAttribute"}, "uploadState":{"shape":"UploadState"}, - "version":{"shape":"VersionAttribute"} + "statusMessage":{"shape":"StatusMessage"} } }, "ReportId":{ "type":"string", - "pattern":"^report-[a-zA-Z0-9]{16}$" + "pattern":"report-[a-zA-Z0-9]{16}" }, "ReportSummary":{ "type":"structure", "members":{ - "arn":{"shape":"LongStringAttribute"}, - "category":{"shape":"ShortStringAttribute"}, - "companyName":{"shape":"ShortStringAttribute"}, - "description":{"shape":"LongStringAttribute"}, "id":{"shape":"ReportId"}, "name":{"shape":"ShortStringAttribute"}, - "periodEnd":{"shape":"TimestampAttribute"}, + "state":{"shape":"PublishedState"}, + "arn":{"shape":"LongStringAttribute"}, + "version":{"shape":"VersionAttribute"}, + "uploadState":{"shape":"UploadState"}, + "description":{"shape":"LongStringAttribute"}, "periodStart":{"shape":"TimestampAttribute"}, - "productName":{"shape":"ShortStringAttribute"}, + "periodEnd":{"shape":"TimestampAttribute"}, "series":{"shape":"ShortStringAttribute"}, - "state":{"shape":"PublishedState"}, + "category":{"shape":"ShortStringAttribute"}, + "companyName":{"shape":"ShortStringAttribute"}, + "productName":{"shape":"ShortStringAttribute"}, "statusMessage":{"shape":"StatusMessage"}, - "uploadState":{"shape":"UploadState"}, - "version":{"shape":"VersionAttribute"} + "acceptanceType":{"shape":"AcceptanceType"} } }, "ReportsList":{ @@ -430,17 +432,17 @@ "type":"structure", "required":[ "message", - "quotaCode", "resourceId", "resourceType", - "serviceCode" + "serviceCode", + "quotaCode" ], "members":{ "message":{"shape":"String"}, - "quotaCode":{"shape":"String"}, "resourceId":{"shape":"String"}, "resourceType":{"shape":"String"}, - "serviceCode":{"shape":"String"} + "serviceCode":{"shape":"String"}, + "quotaCode":{"shape":"String"} }, "error":{ "httpStatusCode":402, @@ -452,7 +454,7 @@ "type":"string", "max":256, "min":1, - "pattern":"^[a-zA-Z0-9_\\-\\s]*$" + "pattern":"[a-zA-Z0-9_\\-\\s]*" }, "StatusMessage":{"type":"string"}, "String":{"type":"string"}, @@ -461,13 +463,13 @@ "required":["message"], "members":{ "message":{"shape":"String"}, + "serviceCode":{"shape":"String"}, "quotaCode":{"shape":"String"}, "retryAfterSeconds":{ "shape":"Integer", "location":"header", "locationName":"Retry-After" - }, - "serviceCode":{"shape":"String"} + } }, "error":{ "httpStatusCode":429, @@ -496,9 +498,9 @@ "reason" ], "members":{ - "fieldList":{"shape":"ValidationExceptionFieldList"}, "message":{"shape":"String"}, - "reason":{"shape":"ValidationExceptionReason"} + "reason":{"shape":"ValidationExceptionReason"}, + "fieldList":{"shape":"ValidationExceptionFieldList"} }, "error":{ "httpStatusCode":400, @@ -509,12 +511,12 @@ "ValidationExceptionField":{ "type":"structure", "required":[ - "message", - "name" + "name", + "message" ], "members":{ - "message":{"shape":"String"}, - "name":{"shape":"String"} + "name":{"shape":"String"}, + "message":{"shape":"String"} } }, "ValidationExceptionFieldList":{ diff --git a/apis/artifact/2018-05-10/docs-2.json b/apis/artifact/2018-05-10/docs-2.json index 33093aaaeea..d8e78d65d66 100644 --- a/apis/artifact/2018-05-10/docs-2.json +++ b/apis/artifact/2018-05-10/docs-2.json @@ -13,7 +13,8 @@ "AcceptanceType": { "base": null, "refs": { - "ReportDetail$acceptanceType": "

Acceptance type for report.

" + "ReportDetail$acceptanceType": "

Acceptance type for report.

", + "ReportSummary$acceptanceType": "

Acceptance type for report.

" } }, "AccessDeniedException": { @@ -110,8 +111,8 @@ "LongStringAttribute": { "base": null, "refs": { - "ReportDetail$arn": "

ARN for the report resource.

", "ReportDetail$description": "

Description for the report resource.

", + "ReportDetail$arn": "

ARN for the report resource.

", "ReportDetail$termArn": "

Unique resource ARN for term resource.

", "ReportSummary$arn": "

ARN for the report resource.

", "ReportSummary$description": "

Description for the report resource.

" @@ -202,16 +203,16 @@ "base": null, "refs": { "GetReportRequest$termToken": "

Unique download token provided by GetTermForReport API.

", + "ReportDetail$name": "

Name for the report resource.

", + "ReportDetail$series": "

Series for the report resource.

", "ReportDetail$category": "

Category for the report resource.

", "ReportDetail$companyName": "

Associated company name for the report resource.

", - "ReportDetail$name": "

Name for the report resource.

", "ReportDetail$productName": "

Associated product name for the report resource.

", - "ReportDetail$series": "

Series for the report resource.

", + "ReportSummary$name": "

Name for the report resource.

", + "ReportSummary$series": "

Series for the report resource.

", "ReportSummary$category": "

Category for the report resource.

", "ReportSummary$companyName": "

Associated company name for the report resource.

", - "ReportSummary$name": "

Name for the report resource.

", - "ReportSummary$productName": "

Associated product name for the report resource.

", - "ReportSummary$series": "

Series for the report resource.

" + "ReportSummary$productName": "

Associated product name for the report resource.

" } }, "StatusMessage": { @@ -234,16 +235,16 @@ "ResourceNotFoundException$resourceId": "

Identifier of the affected resource.

", "ResourceNotFoundException$resourceType": "

Type of the affected resource.

", "ServiceQuotaExceededException$message": null, - "ServiceQuotaExceededException$quotaCode": "

Code for the affected quota.

", "ServiceQuotaExceededException$resourceId": "

Identifier of the affected resource.

", "ServiceQuotaExceededException$resourceType": "

Type of the affected resource.

", "ServiceQuotaExceededException$serviceCode": "

Code for the affected service.

", + "ServiceQuotaExceededException$quotaCode": "

Code for the affected quota.

", "ThrottlingException$message": null, - "ThrottlingException$quotaCode": "

Code for the affected quota.

", "ThrottlingException$serviceCode": "

Code for the affected service.

", + "ThrottlingException$quotaCode": "

Code for the affected quota.

", "ValidationException$message": null, - "ValidationExceptionField$message": "

Message describing why the field failed validation.

", - "ValidationExceptionField$name": "

Name of validation exception.

" + "ValidationExceptionField$name": "

Name of validation exception.

", + "ValidationExceptionField$message": "

Message describing why the field failed validation.

" } }, "ThrottlingException": { @@ -254,13 +255,13 @@ "TimestampAttribute": { "base": null, "refs": { + "ReportDetail$periodStart": "

Timestamp indicating the report resource effective start.

", + "ReportDetail$periodEnd": "

Timestamp indicating the report resource effective end.

", "ReportDetail$createdAt": "

Timestamp indicating when the report resource was created.

", - "ReportDetail$deletedAt": "

Timestamp indicating when the report resource was deleted.

", "ReportDetail$lastModifiedAt": "

Timestamp indicating when the report resource was last modified.

", - "ReportDetail$periodEnd": "

Timestamp indicating the report resource effective end.

", - "ReportDetail$periodStart": "

Timestamp indicating the report resource effective start.

", - "ReportSummary$periodEnd": "

Timestamp indicating the report resource effective end.

", - "ReportSummary$periodStart": "

Timestamp indicating the report resource effective start.

" + "ReportDetail$deletedAt": "

Timestamp indicating when the report resource was deleted.

", + "ReportSummary$periodStart": "

Timestamp indicating the report resource effective start.

", + "ReportSummary$periodEnd": "

Timestamp indicating the report resource effective end.

" } }, "UploadState": { diff --git a/apis/artifact/2018-05-10/examples-1.json b/apis/artifact/2018-05-10/examples-1.json index 0ea7e3b0bbe..3f3857338d9 100644 --- a/apis/artifact/2018-05-10/examples-1.json +++ b/apis/artifact/2018-05-10/examples-1.json @@ -1,5 +1,118 @@ { "version": "1.0", "examples": { + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "accountSettings": { + "notificationSubscriptionStatus": "SUBSCRIBED" + } + }, + "description": "Get the current account settings.", + "id": "example-1", + "title": "Invoke GetAccountSettings operation" + } + ], + "GetReport": [ + { + "input": { + "reportId": "report-1hVFddebtfDNJAUf", + "termToken": "term-token-gPFEGk7CF4wS901w7ppYclt7" + }, + "output": { + "documentPresignedUrl": "" + }, + "description": "The GetReport operation is invoked on a reportId and on a optional version.\n Callers must provide a termToken, which is provided by the GetTermForReport\n operation. If callers do not provide a version, it will default to the\n report's latest version", + "id": "example-1", + "title": "Invoke GetReport operation on the latest version of a specific report" + } + ], + "GetReportMetadata": [ + { + "input": { + "reportId": "report-bqhUJF3FrQZsMJpb" + }, + "output": { + "reportDetails": { + "version": 1, + "name": "Name of report", + "arn": "arn:aws:artifact:us-east-1::report/report-bqhUJF3FrQZsMJpb:1", + "category": "Artifact Category", + "companyName": "AWS", + "createdAt": "2022-05-27T23:17:00.343940Z", + "description": "Description of report", + "id": "report-bqhUJF3FrQZsMJpb", + "periodEnd": "2022-04-01T20:32:04Z", + "periodStart": "2022-04-01T20:32:04Z", + "productName": "Product of report", + "series": "Artifact Series", + "state": "PUBLISHED", + "termArn": "arn:aws:artifact:us-east-1::term/term-gLJGG12NyPtYcmtu:1" + } + }, + "description": "The GetReportMetadata operation is invoked on a reportId and on a optional version.\n If callers do not provide a version, it will default to the report's latest version.", + "id": "example-1", + "title": "Invoke GetReportMetadata operation on the latest version of a specific report" + } + ], + "GetTermForReport": [ + { + "input": { + "reportId": "report-bqhUJF3FrQZsMJpb" + }, + "output": { + "documentPresignedUrl": "", + "termToken": "term-token-gPFEGk7CF4wS901w7ppYclt7" + }, + "description": "The GetTermForReport operation is invoked on a reportId and on a optional version.\n If callers do not provide a version, it will default to the report's latest version.", + "id": "example-1", + "title": "Invoke GetTermForReport operation on the latest version of a specific report" + } + ], + "ListReports": [ + { + "input": { + }, + "output": { + "nextToken": "gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7", + "reports": [ + { + "version": 1, + "name": "Name of report", + "arn": "arn:aws:artifact:us-east-1::report/report-bqhUJF3FrQZsMJpb", + "category": "Artifact Category", + "companyName": "AWS", + "description": "Description of report", + "id": "report-bqhUJF3FrQZsMJpb", + "periodEnd": "2022-04-01T20:32:04Z", + "periodStart": "2022-04-01T20:32:04Z", + "productName": "Product of report", + "series": "Artifact Series", + "state": "PUBLISHED" + } + ] + }, + "description": "The ListReports operation returns a collection of report resources.", + "id": "example-1", + "title": "Invoke ListReports operation" + } + ], + "PutAccountSettings": [ + { + "input": { + "notificationSubscriptionStatus": "SUBSCRIBED" + }, + "output": { + "accountSettings": { + "notificationSubscriptionStatus": "SUBSCRIBED" + } + }, + "description": "Set the account settings.", + "id": "example-1", + "title": "Invoke PutAccountSettings operation" + } + ] } } diff --git a/apis/artifact/2018-05-10/waiters-2.json b/apis/artifact/2018-05-10/waiters-2.json new file mode 100644 index 00000000000..13f60ee66be --- /dev/null +++ b/apis/artifact/2018-05-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/apis/athena/2017-05-18/api-2.json b/apis/athena/2017-05-18/api-2.json index 7229167b09b..01aa0dd4049 100644 --- a/apis/athena/2017-05-18/api-2.json +++ b/apis/athena/2017-05-18/api-2.json @@ -10,7 +10,8 @@ "serviceId":"Athena", "signatureVersion":"v4", "targetPrefix":"AmazonAthena", - "uid":"athena-2017-05-18" + "uid":"athena-2017-05-18", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchGetNamedQuery":{ diff --git a/apis/athena/2017-05-18/smoke-2.json b/apis/athena/2017-05-18/smoke-2.json new file mode 100644 index 00000000000..d1a78bf148c --- /dev/null +++ b/apis/athena/2017-05-18/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListNamedQueriesSuccess", + "operationName": "ListNamedQueries", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/cur/2017-01-06/api-2.json b/apis/cur/2017-01-06/api-2.json index f10eaaf8872..f16450f37dc 100644 --- a/apis/cur/2017-01-06/api-2.json +++ b/apis/cur/2017-01-06/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"cur", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Cost and Usage Report Service", "serviceId":"Cost and Usage Report Service", "signatureVersion":"v4", "signingName":"cur", "targetPrefix":"AWSOrigamiServiceGatewayService", - "uid":"cur-2017-01-06" + "uid":"cur-2017-01-06", + "auth":["aws.auth#sigv4"] }, "operations":{ "DeleteReportDefinition":{ diff --git a/apis/cur/2017-01-06/smoke-2.json b/apis/cur/2017-01-06/smoke-2.json new file mode 100644 index 00000000000..6b594c455f8 --- /dev/null +++ b/apis/cur/2017-01-06/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeReportDefinitionsSuccess", + "operationName": "DescribeReportDefinitions", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-east-1" + } + } + ] +} diff --git a/apis/directconnect/2012-10-25/api-2.json b/apis/directconnect/2012-10-25/api-2.json index 64bd806c368..d6b47158c12 100644 --- a/apis/directconnect/2012-10-25/api-2.json +++ b/apis/directconnect/2012-10-25/api-2.json @@ -5,11 +5,13 @@ "endpointPrefix":"directconnect", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Direct Connect", "serviceId":"Direct Connect", "signatureVersion":"v4", "targetPrefix":"OvertureService", - "uid":"directconnect-2012-10-25" + "uid":"directconnect-2012-10-25", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptDirectConnectGatewayAssociationProposal":{ diff --git a/apis/directconnect/2012-10-25/endpoint-rule-set-1.json b/apis/directconnect/2012-10-25/endpoint-rule-set-1.json index 72a011aafac..c255b39924e 100644 --- a/apis/directconnect/2012-10-25/endpoint-rule-set-1.json +++ b/apis/directconnect/2012-10-25/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/apis/directconnect/2012-10-25/smoke-2.json b/apis/directconnect/2012-10-25/smoke-2.json new file mode 100644 index 00000000000..506d2ae82aa --- /dev/null +++ b/apis/directconnect/2012-10-25/smoke-2.json @@ -0,0 +1,29 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeConnectionsSuccess", + "operationName": "DescribeConnections", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + }, + { + "id": "DescribeConnectionsFailure", + "operationName": "DescribeConnections", + "input": { + "connectionId": "fake-connection" + }, + "expectation": { + "failure": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/elastictranscoder/2012-09-25/api-2.json b/apis/elastictranscoder/2012-09-25/api-2.json index 3b5a948685a..862f2ad933b 100644 --- a/apis/elastictranscoder/2012-09-25/api-2.json +++ b/apis/elastictranscoder/2012-09-25/api-2.json @@ -4,10 +4,12 @@ "apiVersion":"2012-09-25", "endpointPrefix":"elastictranscoder", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon Elastic Transcoder", "serviceId":"Elastic Transcoder", "signatureVersion":"v4", - "uid":"elastictranscoder-2012-09-25" + "uid":"elastictranscoder-2012-09-25", + "auth":["aws.auth#sigv4"] }, "operations":{ "CancelJob":{ diff --git a/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json b/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json index 29f802e5320..e6fea0075e8 100644 --- a/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json +++ b/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/apis/elastictranscoder/2012-09-25/smoke-2.json b/apis/elastictranscoder/2012-09-25/smoke-2.json new file mode 100644 index 00000000000..952cf1968a7 --- /dev/null +++ b/apis/elastictranscoder/2012-09-25/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListPresetsSuccess", + "operationName": "ListPresets", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/apis/opensearch/2021-01-01/api-2.json b/apis/opensearch/2021-01-01/api-2.json index d132c8dfe1f..ae094168fe8 100644 --- a/apis/opensearch/2021-01-01/api-2.json +++ b/apis/opensearch/2021-01-01/api-2.json @@ -8,7 +8,8 @@ "serviceFullName":"Amazon OpenSearch Service", "serviceId":"OpenSearch", "signatureVersion":"v4", - "uid":"opensearch-2021-01-01" + "uid":"opensearch-2021-01-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptInboundConnection":{ @@ -1148,6 +1149,7 @@ "Enabled":{"shape":"Boolean"}, "InternalUserDatabaseEnabled":{"shape":"Boolean"}, "SAMLOptions":{"shape":"SAMLOptionsOutput"}, + "JWTOptions":{"shape":"JWTOptionsOutput"}, "AnonymousAuthDisableDate":{"shape":"DisableTimestamp"}, "AnonymousAuthEnabled":{"shape":"Boolean"} } @@ -1159,6 +1161,7 @@ "InternalUserDatabaseEnabled":{"shape":"Boolean"}, "MasterUserOptions":{"shape":"MasterUserOptions"}, "SAMLOptions":{"shape":"SAMLOptionsInput"}, + "JWTOptions":{"shape":"JWTOptionsInput"}, "AnonymousAuthEnabled":{"shape":"Boolean"} } }, @@ -2907,6 +2910,24 @@ "type":"list", "member":{"shape":"Issue"} }, + "JWTOptionsInput":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "SubjectKey":{"shape":"SubjectKey"}, + "RolesKey":{"shape":"RolesKey"}, + "PublicKey":{"shape":"String"} + } + }, + "JWTOptionsOutput":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "SubjectKey":{"shape":"String"}, + "RolesKey":{"shape":"String"}, + "PublicKey":{"shape":"String"} + } + }, "KmsKeyId":{ "type":"string", "max":500, @@ -3906,6 +3927,11 @@ "min":20, "pattern":"arn:(aws|aws\\-cn|aws\\-us\\-gov|aws\\-iso|aws\\-iso\\-b):iam::[0-9]+:role\\/.*" }, + "RolesKey":{ + "type":"string", + "max":64, + "min":1 + }, "RollbackOnDisable":{ "type":"string", "enum":[ @@ -4178,6 +4204,11 @@ "type":"list", "member":{"shape":"String"} }, + "SubjectKey":{ + "type":"string", + "max":64, + "min":1 + }, "TLSSecurityPolicy":{ "type":"string", "enum":[ diff --git a/apis/opensearch/2021-01-01/docs-2.json b/apis/opensearch/2021-01-01/docs-2.json index 21afc3e227a..af8019750ea 100644 --- a/apis/opensearch/2021-01-01/docs-2.json +++ b/apis/opensearch/2021-01-01/docs-2.json @@ -388,6 +388,8 @@ "InstanceTypeDetails$AppLogsEnabled": "

Whether logging is supported for the instance type.

", "InstanceTypeDetails$AdvancedSecurityEnabled": "

Whether fine-grained access control is supported for the instance type.

", "InstanceTypeDetails$WarmEnabled": "

Whether UltraWarm is supported for the instance type.

", + "JWTOptionsInput$Enabled": "

True to enable JWT authentication and authorization for a domain.

", + "JWTOptionsOutput$Enabled": "

True if JWT use is enabled.

", "ListInstanceTypeDetailsRequest$RetrieveAZs": "

An optional parameter that specifies the Availability Zones for the domain.

", "LogPublishingOption$Enabled": "

Whether the log should be published.

", "NodeToNodeEncryptionOptions$Enabled": "

True to enable node-to-node encryption.

", @@ -687,8 +689,8 @@ "base": null, "refs": { "DataSourceDetails$Status": "

The status of the data source.

", - "GetDataSourceResponse$Status": "

The status of the data source response.

", - "UpdateDataSourceRequest$Status": "

The status of the data source update request.

" + "GetDataSourceResponse$Status": "

The status of the data source.

", + "UpdateDataSourceRequest$Status": "

The status of the data source update.

" } }, "DataSourceType": { @@ -1585,6 +1587,18 @@ "UpgradeStepItem$Issues": "

A list of strings containing detailed information about the errors encountered in a particular step.

" } }, + "JWTOptionsInput": { + "base": "

The JWT authentication and authorization configuration for an Amazon OpenSearch Service domain.

", + "refs": { + "AdvancedSecurityOptionsInput$JWTOptions": "

Container for information about the JWT configuration of the Amazon OpenSearch Service.

" + } + }, + "JWTOptionsOutput": { + "base": "

Describes the JWT options configured for the domain.

", + "refs": { + "AdvancedSecurityOptions$JWTOptions": "

Container for information about the JWT configuration of the Amazon OpenSearch Service.

" + } + }, "KmsKeyId": { "base": null, "refs": { @@ -2355,6 +2369,12 @@ "S3GlueDataCatalog$RoleArn": "

>The Amazon Resource Name (ARN) for the S3 Glue Data Catalog.

" } }, + "RolesKey": { + "base": null, + "refs": { + "JWTOptionsInput$RolesKey": "

Element of the JWT assertion to use for roles.

" + } + }, "RollbackOnDisable": { "base": "

The rollback state while disabling Auto-Tune for the domain.

", "refs": { @@ -2626,6 +2646,10 @@ "EndpointsMap$key": null, "GetPackageVersionHistoryResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", "GetUpgradeHistoryResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", + "JWTOptionsInput$PublicKey": "

Element of the JWT assertion used by the cluster to verify JWT signatures.

", + "JWTOptionsOutput$SubjectKey": "

The key used for matching the JWT subject attribute.

", + "JWTOptionsOutput$RolesKey": "

The key used for matching the JWT roles attribute.

", + "JWTOptionsOutput$PublicKey": "

The key used to verify the signature of incoming JWT requests.

", "ListDomainsForPackageResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", "ListPackagesForDomainResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", "ModifyingProperties$Name": "

The name of the property that is currently being modified.

", @@ -2669,6 +2693,12 @@ "VPCOptions$SecurityGroupIds": "

The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, OpenSearch Service uses the default security group for the VPC.

" } }, + "SubjectKey": { + "base": null, + "refs": { + "JWTOptionsInput$SubjectKey": "

Element of the JWT assertion to use for the user name.

" + } + }, "TLSSecurityPolicy": { "base": null, "refs": { diff --git a/gems/aws-partitions/CHANGELOG.md b/gems/aws-partitions/CHANGELOG.md index 9c57a999a78..7420f8931ff 100644 --- a/gems/aws-partitions/CHANGELOG.md +++ b/gems/aws-partitions/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.945.0 (2024-06-19) +------------------ + +* Feature - Updated the partitions source data the determines the AWS service regions and endpoints. + 1.944.0 (2024-06-12) ------------------ diff --git a/gems/aws-partitions/VERSION b/gems/aws-partitions/VERSION index 2edba4f3c39..70ace7fc715 100644 --- a/gems/aws-partitions/VERSION +++ b/gems/aws-partitions/VERSION @@ -1 +1 @@ -1.944.0 +1.945.0 diff --git a/gems/aws-partitions/partitions.json b/gems/aws-partitions/partitions.json index 89026614d94..ee333c2c88b 100644 --- a/gems/aws-partitions/partitions.json +++ b/gems/aws-partitions/partitions.json @@ -25256,6 +25256,44 @@ "us-gov-west-1" : { } } }, + "kinesisvideo" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "kinesisvideo-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "kinesisvideo-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, "kms" : { "endpoints" : { "ProdFips" : { diff --git a/gems/aws-sdk-artifact/CHANGELOG.md b/gems/aws-sdk-artifact/CHANGELOG.md index e57158d79d5..877f4e69417 100644 --- a/gems/aws-sdk-artifact/CHANGELOG.md +++ b/gems/aws-sdk-artifact/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.4.0 (2024-06-19) +------------------ + +* Feature - This release adds an acceptanceType field to the ReportSummary structure (used in the ListReports API response). + 1.3.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-artifact/VERSION b/gems/aws-sdk-artifact/VERSION index f0bb29e7638..88c5fb891dc 100644 --- a/gems/aws-sdk-artifact/VERSION +++ b/gems/aws-sdk-artifact/VERSION @@ -1 +1 @@ -1.3.0 +1.4.0 diff --git a/gems/aws-sdk-artifact/lib/aws-sdk-artifact.rb b/gems/aws-sdk-artifact/lib/aws-sdk-artifact.rb index a75dab72f55..b8c7133aa40 100644 --- a/gems/aws-sdk-artifact/lib/aws-sdk-artifact.rb +++ b/gems/aws-sdk-artifact/lib/aws-sdk-artifact.rb @@ -16,6 +16,7 @@ require_relative 'aws-sdk-artifact/plugins/endpoints.rb' require_relative 'aws-sdk-artifact/client' require_relative 'aws-sdk-artifact/errors' +require_relative 'aws-sdk-artifact/waiters' require_relative 'aws-sdk-artifact/resource' require_relative 'aws-sdk-artifact/endpoint_parameters' require_relative 'aws-sdk-artifact/endpoint_provider' @@ -52,6 +53,6 @@ # @!group service module Aws::Artifact - GEM_VERSION = '1.3.0' + GEM_VERSION = '1.4.0' end diff --git a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client.rb b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client.rb index 6e9778fb60b..6ab35bca285 100644 --- a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client.rb +++ b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client.rb @@ -419,6 +419,21 @@ def initialize(*args) # # * {Types::GetAccountSettingsResponse#account_settings #account_settings} => Types::AccountSettings # + # + # @example Example: Invoke GetAccountSettings operation + # + # # Get the current account settings. + # + # resp = client.get_account_settings({ + # }) + # + # resp.to_h outputs the following: + # { + # account_settings: { + # notification_subscription_status: "SUBSCRIBED", + # }, + # } + # # @example Response structure # # resp.account_settings.notification_subscription_status #=> String, one of "SUBSCRIBED", "NOT_SUBSCRIBED" @@ -447,6 +462,24 @@ def get_account_settings(params = {}, options = {}) # # * {Types::GetReportResponse#document_presigned_url #document_presigned_url} => String # + # + # @example Example: Invoke GetReport operation on the latest version of a specific report + # + # # The GetReport operation is invoked on a reportId and on a optional version. + # # Callers must provide a termToken, which is provided by the GetTermForReport + # # operation. If callers do not provide a version, it will default to the + # # report's latest version + # + # resp = client.get_report({ + # report_id: "report-1hVFddebtfDNJAUf", + # term_token: "term-token-gPFEGk7CF4wS901w7ppYclt7", + # }) + # + # resp.to_h outputs the following: + # { + # document_presigned_url: "", + # } + # # @example Request syntax with placeholder values # # resp = client.get_report({ @@ -480,6 +513,36 @@ def get_report(params = {}, options = {}) # # * {Types::GetReportMetadataResponse#report_details #report_details} => Types::ReportDetail # + # + # @example Example: Invoke GetReportMetadata operation on the latest version of a specific report + # + # # The GetReportMetadata operation is invoked on a reportId and on a optional version. + # # If callers do not provide a version, it will default to the report's latest version. + # + # resp = client.get_report_metadata({ + # report_id: "report-bqhUJF3FrQZsMJpb", + # }) + # + # resp.to_h outputs the following: + # { + # report_details: { + # version: 1, + # name: "Name of report", + # arn: "arn:aws:artifact:us-east-1::report/report-bqhUJF3FrQZsMJpb:1", + # category: "Artifact Category", + # company_name: "AWS", + # created_at: Time.parse("2022-05-27T23:17:00.343940Z"), + # description: "Description of report", + # id: "report-bqhUJF3FrQZsMJpb", + # period_end: Time.parse("2022-04-01T20:32:04Z"), + # period_start: Time.parse("2022-04-01T20:32:04Z"), + # product_name: "Product of report", + # series: "Artifact Series", + # state: "PUBLISHED", + # term_arn: "arn:aws:artifact:us-east-1::term/term-gLJGG12NyPtYcmtu:1", + # }, + # } + # # @example Request syntax with placeholder values # # resp = client.get_report_metadata({ @@ -489,26 +552,26 @@ def get_report(params = {}, options = {}) # # @example Response structure # - # resp.report_details.acceptance_type #=> String, one of "PASSTHROUGH", "EXPLICIT" - # resp.report_details.arn #=> String - # resp.report_details.category #=> String - # resp.report_details.company_name #=> String - # resp.report_details.created_at #=> Time - # resp.report_details.deleted_at #=> Time - # resp.report_details.description #=> String # resp.report_details.id #=> String - # resp.report_details.last_modified_at #=> Time # resp.report_details.name #=> String - # resp.report_details.period_end #=> Time + # resp.report_details.description #=> String # resp.report_details.period_start #=> Time - # resp.report_details.product_name #=> String - # resp.report_details.sequence_number #=> Integer - # resp.report_details.series #=> String + # resp.report_details.period_end #=> Time + # resp.report_details.created_at #=> Time + # resp.report_details.last_modified_at #=> Time + # resp.report_details.deleted_at #=> Time # resp.report_details.state #=> String, one of "PUBLISHED", "UNPUBLISHED" - # resp.report_details.status_message #=> String + # resp.report_details.arn #=> String + # resp.report_details.series #=> String + # resp.report_details.category #=> String + # resp.report_details.company_name #=> String + # resp.report_details.product_name #=> String # resp.report_details.term_arn #=> String - # resp.report_details.upload_state #=> String, one of "PROCESSING", "COMPLETE", "FAILED", "FAULT" # resp.report_details.version #=> Integer + # resp.report_details.acceptance_type #=> String, one of "PASSTHROUGH", "EXPLICIT" + # resp.report_details.sequence_number #=> Integer + # resp.report_details.upload_state #=> String, one of "PROCESSING", "COMPLETE", "FAILED", "FAULT" + # resp.report_details.status_message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/GetReportMetadata AWS API Documentation # @@ -532,6 +595,22 @@ def get_report_metadata(params = {}, options = {}) # * {Types::GetTermForReportResponse#document_presigned_url #document_presigned_url} => String # * {Types::GetTermForReportResponse#term_token #term_token} => String # + # + # @example Example: Invoke GetTermForReport operation on the latest version of a specific report + # + # # The GetTermForReport operation is invoked on a reportId and on a optional version. + # # If callers do not provide a version, it will default to the report's latest version. + # + # resp = client.get_term_for_report({ + # report_id: "report-bqhUJF3FrQZsMJpb", + # }) + # + # resp.to_h outputs the following: + # { + # document_presigned_url: "", + # term_token: "term-token-gPFEGk7CF4wS901w7ppYclt7", + # } + # # @example Request syntax with placeholder values # # resp = client.get_term_for_report({ @@ -563,11 +642,40 @@ def get_term_for_report(params = {}, options = {}) # # @return [Types::ListReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # - # * {Types::ListReportsResponse#next_token #next_token} => String # * {Types::ListReportsResponse#reports #reports} => Array<Types::ReportSummary> + # * {Types::ListReportsResponse#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 Example: Invoke ListReports operation + # + # # The ListReports operation returns a collection of report resources. + # + # resp = client.list_reports({ + # }) + # + # resp.to_h outputs the following: + # { + # next_token: "gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7", + # reports: [ + # { + # version: 1, + # name: "Name of report", + # arn: "arn:aws:artifact:us-east-1::report/report-bqhUJF3FrQZsMJpb", + # category: "Artifact Category", + # company_name: "AWS", + # description: "Description of report", + # id: "report-bqhUJF3FrQZsMJpb", + # period_end: Time.parse("2022-04-01T20:32:04Z"), + # period_start: Time.parse("2022-04-01T20:32:04Z"), + # product_name: "Product of report", + # series: "Artifact Series", + # state: "PUBLISHED", + # }, + # ], + # } + # # @example Request syntax with placeholder values # # resp = client.list_reports({ @@ -577,22 +685,23 @@ def get_term_for_report(params = {}, options = {}) # # @example Response structure # - # resp.next_token #=> String # resp.reports #=> Array - # resp.reports[0].arn #=> String - # resp.reports[0].category #=> String - # resp.reports[0].company_name #=> String - # resp.reports[0].description #=> String # resp.reports[0].id #=> String # resp.reports[0].name #=> String - # resp.reports[0].period_end #=> Time + # resp.reports[0].state #=> String, one of "PUBLISHED", "UNPUBLISHED" + # resp.reports[0].arn #=> String + # resp.reports[0].version #=> Integer + # resp.reports[0].upload_state #=> String, one of "PROCESSING", "COMPLETE", "FAILED", "FAULT" + # resp.reports[0].description #=> String # resp.reports[0].period_start #=> Time - # resp.reports[0].product_name #=> String + # resp.reports[0].period_end #=> Time # resp.reports[0].series #=> String - # resp.reports[0].state #=> String, one of "PUBLISHED", "UNPUBLISHED" + # resp.reports[0].category #=> String + # resp.reports[0].company_name #=> String + # resp.reports[0].product_name #=> String # resp.reports[0].status_message #=> String - # resp.reports[0].upload_state #=> String, one of "PROCESSING", "COMPLETE", "FAILED", "FAULT" - # resp.reports[0].version #=> Integer + # resp.reports[0].acceptance_type #=> String, one of "PASSTHROUGH", "EXPLICIT" + # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ListReports AWS API Documentation # @@ -612,6 +721,22 @@ def list_reports(params = {}, options = {}) # # * {Types::PutAccountSettingsResponse#account_settings #account_settings} => Types::AccountSettings # + # + # @example Example: Invoke PutAccountSettings operation + # + # # Set the account settings. + # + # resp = client.put_account_settings({ + # notification_subscription_status: "SUBSCRIBED", + # }) + # + # resp.to_h outputs the following: + # { + # account_settings: { + # notification_subscription_status: "SUBSCRIBED", + # }, + # } + # # @example Request syntax with placeholder values # # resp = client.put_account_settings({ @@ -644,7 +769,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-artifact' - context[:gem_version] = '1.3.0' + context[:gem_version] = '1.4.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client_api.rb b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client_api.rb index b4b5a1006f2..7bf867e43da 100644 --- a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client_api.rb +++ b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/client_api.rb @@ -104,8 +104,8 @@ module ClientApi ListReportsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenAttribute, location: "querystring", location_name: "nextToken")) ListReportsRequest.struct_class = Types::ListReportsRequest - ListReportsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenAttribute, location_name: "nextToken")) ListReportsResponse.add_member(:reports, Shapes::ShapeRef.new(shape: ReportsList, location_name: "reports")) + ListReportsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextTokenAttribute, location_name: "nextToken")) ListReportsResponse.struct_class = Types::ListReportsResponse PutAccountSettingsRequest.add_member(:notification_subscription_status, Shapes::ShapeRef.new(shape: NotificationSubscriptionStatus, location_name: "notificationSubscriptionStatus")) @@ -114,42 +114,43 @@ module ClientApi PutAccountSettingsResponse.add_member(:account_settings, Shapes::ShapeRef.new(shape: AccountSettings, location_name: "accountSettings")) PutAccountSettingsResponse.struct_class = Types::PutAccountSettingsResponse - ReportDetail.add_member(:acceptance_type, Shapes::ShapeRef.new(shape: AcceptanceType, location_name: "acceptanceType")) - ReportDetail.add_member(:arn, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "arn")) - ReportDetail.add_member(:category, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "category")) - ReportDetail.add_member(:company_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "companyName")) - ReportDetail.add_member(:created_at, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "createdAt")) - ReportDetail.add_member(:deleted_at, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "deletedAt")) - ReportDetail.add_member(:description, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "description")) ReportDetail.add_member(:id, Shapes::ShapeRef.new(shape: ReportId, location_name: "id")) - ReportDetail.add_member(:last_modified_at, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "lastModifiedAt")) ReportDetail.add_member(:name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "name")) - ReportDetail.add_member(:period_end, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "periodEnd")) + ReportDetail.add_member(:description, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "description")) ReportDetail.add_member(:period_start, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "periodStart")) - ReportDetail.add_member(:product_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "productName")) - ReportDetail.add_member(:sequence_number, Shapes::ShapeRef.new(shape: SequenceNumberAttribute, location_name: "sequenceNumber")) - ReportDetail.add_member(:series, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "series")) + ReportDetail.add_member(:period_end, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "periodEnd")) + ReportDetail.add_member(:created_at, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "createdAt")) + ReportDetail.add_member(:last_modified_at, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "lastModifiedAt")) + ReportDetail.add_member(:deleted_at, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "deletedAt")) ReportDetail.add_member(:state, Shapes::ShapeRef.new(shape: PublishedState, location_name: "state")) - ReportDetail.add_member(:status_message, Shapes::ShapeRef.new(shape: StatusMessage, location_name: "statusMessage")) + ReportDetail.add_member(:arn, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "arn")) + ReportDetail.add_member(:series, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "series")) + ReportDetail.add_member(:category, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "category")) + ReportDetail.add_member(:company_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "companyName")) + ReportDetail.add_member(:product_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "productName")) ReportDetail.add_member(:term_arn, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "termArn")) - ReportDetail.add_member(:upload_state, Shapes::ShapeRef.new(shape: UploadState, location_name: "uploadState")) ReportDetail.add_member(:version, Shapes::ShapeRef.new(shape: VersionAttribute, location_name: "version")) + ReportDetail.add_member(:acceptance_type, Shapes::ShapeRef.new(shape: AcceptanceType, location_name: "acceptanceType")) + ReportDetail.add_member(:sequence_number, Shapes::ShapeRef.new(shape: SequenceNumberAttribute, location_name: "sequenceNumber")) + ReportDetail.add_member(:upload_state, Shapes::ShapeRef.new(shape: UploadState, location_name: "uploadState")) + ReportDetail.add_member(:status_message, Shapes::ShapeRef.new(shape: StatusMessage, location_name: "statusMessage")) ReportDetail.struct_class = Types::ReportDetail - ReportSummary.add_member(:arn, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "arn")) - ReportSummary.add_member(:category, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "category")) - ReportSummary.add_member(:company_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "companyName")) - ReportSummary.add_member(:description, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "description")) ReportSummary.add_member(:id, Shapes::ShapeRef.new(shape: ReportId, location_name: "id")) ReportSummary.add_member(:name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "name")) - ReportSummary.add_member(:period_end, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "periodEnd")) + ReportSummary.add_member(:state, Shapes::ShapeRef.new(shape: PublishedState, location_name: "state")) + ReportSummary.add_member(:arn, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "arn")) + ReportSummary.add_member(:version, Shapes::ShapeRef.new(shape: VersionAttribute, location_name: "version")) + ReportSummary.add_member(:upload_state, Shapes::ShapeRef.new(shape: UploadState, location_name: "uploadState")) + ReportSummary.add_member(:description, Shapes::ShapeRef.new(shape: LongStringAttribute, location_name: "description")) ReportSummary.add_member(:period_start, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "periodStart")) - ReportSummary.add_member(:product_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "productName")) + ReportSummary.add_member(:period_end, Shapes::ShapeRef.new(shape: TimestampAttribute, location_name: "periodEnd")) ReportSummary.add_member(:series, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "series")) - ReportSummary.add_member(:state, Shapes::ShapeRef.new(shape: PublishedState, location_name: "state")) + ReportSummary.add_member(:category, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "category")) + ReportSummary.add_member(:company_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "companyName")) + ReportSummary.add_member(:product_name, Shapes::ShapeRef.new(shape: ShortStringAttribute, location_name: "productName")) ReportSummary.add_member(:status_message, Shapes::ShapeRef.new(shape: StatusMessage, location_name: "statusMessage")) - ReportSummary.add_member(:upload_state, Shapes::ShapeRef.new(shape: UploadState, location_name: "uploadState")) - ReportSummary.add_member(:version, Shapes::ShapeRef.new(shape: VersionAttribute, location_name: "version")) + ReportSummary.add_member(:acceptance_type, Shapes::ShapeRef.new(shape: AcceptanceType, location_name: "acceptanceType")) ReportSummary.struct_class = Types::ReportSummary ReportsList.member = Shapes::ShapeRef.new(shape: ReportSummary) @@ -160,25 +161,25 @@ module ClientApi ResourceNotFoundException.struct_class = Types::ResourceNotFoundException ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) - ServiceQuotaExceededException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "quotaCode")) ServiceQuotaExceededException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId")) ServiceQuotaExceededException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType")) ServiceQuotaExceededException.add_member(:service_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceCode")) + ServiceQuotaExceededException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "quotaCode")) ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) + ThrottlingException.add_member(:service_code, Shapes::ShapeRef.new(shape: String, location_name: "serviceCode")) ThrottlingException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, location_name: "quotaCode")) ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: Integer, location: "header", location_name: "Retry-After")) - ThrottlingException.add_member(:service_code, Shapes::ShapeRef.new(shape: String, location_name: "serviceCode")) ThrottlingException.struct_class = Types::ThrottlingException - ValidationException.add_member(:field_list, Shapes::ShapeRef.new(shape: ValidationExceptionFieldList, location_name: "fieldList")) ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) ValidationException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, required: true, location_name: "reason")) + ValidationException.add_member(:field_list, Shapes::ShapeRef.new(shape: ValidationExceptionFieldList, location_name: "fieldList")) ValidationException.struct_class = Types::ValidationException - ValidationExceptionField.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) ValidationExceptionField.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name")) + ValidationExceptionField.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message")) ValidationExceptionField.struct_class = Types::ValidationExceptionField ValidationExceptionFieldList.member = Shapes::ShapeRef.new(shape: ValidationExceptionField) @@ -191,9 +192,10 @@ module ClientApi api.metadata = { "apiVersion" => "2018-05-10", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "artifact", - "jsonVersion" => "1.1", "protocol" => "rest-json", + "protocols" => ["rest-json"], "serviceFullName" => "AWS Artifact", "serviceId" => "Artifact", "signatureVersion" => "v4", diff --git a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/errors.rb b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/errors.rb index 7038e7e85b0..8b38f7f30b7 100644 --- a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/errors.rb +++ b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/errors.rb @@ -144,11 +144,6 @@ def message @message || @data[:message] end - # @return [String] - def quota_code - @data[:quota_code] - end - # @return [String] def resource_id @data[:resource_id] @@ -163,6 +158,11 @@ def resource_type def service_code @data[:service_code] end + + # @return [String] + def quota_code + @data[:quota_code] + end end class ThrottlingException < ServiceError @@ -179,6 +179,11 @@ def message @message || @data[:message] end + # @return [String] + def service_code + @data[:service_code] + end + # @return [String] def quota_code @data[:quota_code] @@ -189,11 +194,6 @@ def retry_after_seconds @data[:retry_after_seconds] end - # @return [String] - def service_code - @data[:service_code] - end - def retryable? true end @@ -212,11 +212,6 @@ def initialize(context, message, data = Aws::EmptyStructure.new) super(context, message, data) end - # @return [String] - def field_list - @data[:field_list] - end - # @return [String] def message @message || @data[:message] @@ -226,6 +221,11 @@ def message def reason @data[:reason] end + + # @return [String] + def field_list + @data[:field_list] + end end end diff --git a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/types.rb b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/types.rb index d5ccc26eb63..3ad38f787e2 100644 --- a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/types.rb +++ b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/types.rb @@ -210,19 +210,19 @@ class ListReportsRequest < Struct.new( include Aws::Structure end - # @!attribute [rw] next_token - # Pagination token to request the next page of resources. - # @return [String] - # # @!attribute [rw] reports # List of report resources. # @return [Array] # + # @!attribute [rw] next_token + # Pagination token to request the next page of resources. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ListReportsResponse AWS API Documentation # class ListReportsResponse < Struct.new( - :next_token, - :reports) + :reports, + :next_token) SENSITIVE = [] include Aws::Structure end @@ -253,188 +253,193 @@ class PutAccountSettingsResponse < Struct.new( # Full detail for report resource metadata. # - # @!attribute [rw] acceptance_type - # Acceptance type for report. + # @!attribute [rw] id + # Unique resource ID for the report resource. # @return [String] # - # @!attribute [rw] arn - # ARN for the report resource. + # @!attribute [rw] name + # Name for the report resource. # @return [String] # - # @!attribute [rw] category - # Category for the report resource. + # @!attribute [rw] description + # Description for the report resource. # @return [String] # - # @!attribute [rw] company_name - # Associated company name for the report resource. - # @return [String] + # @!attribute [rw] period_start + # Timestamp indicating the report resource effective start. + # @return [Time] + # + # @!attribute [rw] period_end + # Timestamp indicating the report resource effective end. + # @return [Time] # # @!attribute [rw] created_at # Timestamp indicating when the report resource was created. # @return [Time] # + # @!attribute [rw] last_modified_at + # Timestamp indicating when the report resource was last modified. + # @return [Time] + # # @!attribute [rw] deleted_at # Timestamp indicating when the report resource was deleted. # @return [Time] # - # @!attribute [rw] description - # Description for the report resource. + # @!attribute [rw] state + # Current state of the report resource # @return [String] # - # @!attribute [rw] id - # Unique resource ID for the report resource. + # @!attribute [rw] arn + # ARN for the report resource. # @return [String] # - # @!attribute [rw] last_modified_at - # Timestamp indicating when the report resource was last modified. - # @return [Time] - # - # @!attribute [rw] name - # Name for the report resource. + # @!attribute [rw] series + # Series for the report resource. # @return [String] # - # @!attribute [rw] period_end - # Timestamp indicating the report resource effective end. - # @return [Time] + # @!attribute [rw] category + # Category for the report resource. + # @return [String] # - # @!attribute [rw] period_start - # Timestamp indicating the report resource effective start. - # @return [Time] + # @!attribute [rw] company_name + # Associated company name for the report resource. + # @return [String] # # @!attribute [rw] product_name # Associated product name for the report resource. # @return [String] # - # @!attribute [rw] sequence_number - # Sequence number to enforce optimistic locking. - # @return [Integer] - # - # @!attribute [rw] series - # Series for the report resource. + # @!attribute [rw] term_arn + # Unique resource ARN for term resource. # @return [String] # - # @!attribute [rw] state - # Current state of the report resource - # @return [String] + # @!attribute [rw] version + # Version for the report resource. + # @return [Integer] # - # @!attribute [rw] status_message - # The message associated with the current upload state. + # @!attribute [rw] acceptance_type + # Acceptance type for report. # @return [String] # - # @!attribute [rw] term_arn - # Unique resource ARN for term resource. - # @return [String] + # @!attribute [rw] sequence_number + # Sequence number to enforce optimistic locking. + # @return [Integer] # # @!attribute [rw] upload_state # The current state of the document upload. # @return [String] # - # @!attribute [rw] version - # Version for the report resource. - # @return [Integer] + # @!attribute [rw] status_message + # The message associated with the current upload state. + # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ReportDetail AWS API Documentation # class ReportDetail < Struct.new( - :acceptance_type, - :arn, - :category, - :company_name, - :created_at, - :deleted_at, - :description, :id, - :last_modified_at, :name, - :period_end, + :description, :period_start, - :product_name, - :sequence_number, - :series, + :period_end, + :created_at, + :last_modified_at, + :deleted_at, :state, - :status_message, + :arn, + :series, + :category, + :company_name, + :product_name, :term_arn, + :version, + :acceptance_type, + :sequence_number, :upload_state, - :version) + :status_message) SENSITIVE = [] include Aws::Structure end # Summary for report resource. # - # @!attribute [rw] arn - # ARN for the report resource. + # @!attribute [rw] id + # Unique resource ID for the report resource. # @return [String] # - # @!attribute [rw] category - # Category for the report resource. + # @!attribute [rw] name + # Name for the report resource. # @return [String] # - # @!attribute [rw] company_name - # Associated company name for the report resource. + # @!attribute [rw] state + # Current state of the report resource. # @return [String] # - # @!attribute [rw] description - # Description for the report resource. + # @!attribute [rw] arn + # ARN for the report resource. # @return [String] # - # @!attribute [rw] id - # Unique resource ID for the report resource. - # @return [String] + # @!attribute [rw] version + # Version for the report resource. + # @return [Integer] # - # @!attribute [rw] name - # Name for the report resource. + # @!attribute [rw] upload_state + # The current state of the document upload. # @return [String] # - # @!attribute [rw] period_end - # Timestamp indicating the report resource effective end. - # @return [Time] + # @!attribute [rw] description + # Description for the report resource. + # @return [String] # # @!attribute [rw] period_start # Timestamp indicating the report resource effective start. # @return [Time] # - # @!attribute [rw] product_name - # Associated product name for the report resource. - # @return [String] + # @!attribute [rw] period_end + # Timestamp indicating the report resource effective end. + # @return [Time] # # @!attribute [rw] series # Series for the report resource. # @return [String] # - # @!attribute [rw] state - # Current state of the report resource. + # @!attribute [rw] category + # Category for the report resource. + # @return [String] + # + # @!attribute [rw] company_name + # Associated company name for the report resource. + # @return [String] + # + # @!attribute [rw] product_name + # Associated product name for the report resource. # @return [String] # # @!attribute [rw] status_message # The message associated with the current upload state. # @return [String] # - # @!attribute [rw] upload_state - # The current state of the document upload. + # @!attribute [rw] acceptance_type + # Acceptance type for report. # @return [String] # - # @!attribute [rw] version - # Version for the report resource. - # @return [Integer] - # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ReportSummary AWS API Documentation # class ReportSummary < Struct.new( - :arn, - :category, - :company_name, - :description, :id, :name, - :period_end, + :state, + :arn, + :version, + :upload_state, + :description, :period_start, - :product_name, + :period_end, :series, - :state, + :category, + :company_name, + :product_name, :status_message, - :upload_state, - :version) + :acceptance_type) SENSITIVE = [] include Aws::Structure end @@ -467,10 +472,6 @@ class ResourceNotFoundException < Struct.new( # @!attribute [rw] message # @return [String] # - # @!attribute [rw] quota_code - # Code for the affected quota. - # @return [String] - # # @!attribute [rw] resource_id # Identifier of the affected resource. # @return [String] @@ -483,14 +484,18 @@ class ResourceNotFoundException < Struct.new( # Code for the affected service. # @return [String] # + # @!attribute [rw] quota_code + # Code for the affected quota. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ServiceQuotaExceededException AWS API Documentation # class ServiceQuotaExceededException < Struct.new( :message, - :quota_code, :resource_id, :resource_type, - :service_code) + :service_code, + :quota_code) SENSITIVE = [] include Aws::Structure end @@ -500,6 +505,10 @@ class ServiceQuotaExceededException < Struct.new( # @!attribute [rw] message # @return [String] # + # @!attribute [rw] service_code + # Code for the affected service. + # @return [String] + # # @!attribute [rw] quota_code # Code for the affected quota. # @return [String] @@ -508,27 +517,19 @@ class ServiceQuotaExceededException < Struct.new( # Number of seconds in which the caller can retry the request. # @return [Integer] # - # @!attribute [rw] service_code - # Code for the affected service. - # @return [String] - # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ThrottlingException AWS API Documentation # class ThrottlingException < Struct.new( :message, + :service_code, :quota_code, - :retry_after_seconds, - :service_code) + :retry_after_seconds) SENSITIVE = [] include Aws::Structure end # Request fails to satisfy the constraints specified by an AWS service. # - # @!attribute [rw] field_list - # The field that caused the error, if applicable. - # @return [Array] - # # @!attribute [rw] message # @return [String] # @@ -536,31 +537,35 @@ class ThrottlingException < Struct.new( # Reason the request failed validation. # @return [String] # + # @!attribute [rw] field_list + # The field that caused the error, if applicable. + # @return [Array] + # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ValidationException AWS API Documentation # class ValidationException < Struct.new( - :field_list, :message, - :reason) + :reason, + :field_list) SENSITIVE = [] include Aws::Structure end # Validation exception message and name. # - # @!attribute [rw] message - # Message describing why the field failed validation. - # @return [String] - # # @!attribute [rw] name # Name of validation exception. # @return [String] # + # @!attribute [rw] message + # Message describing why the field failed validation. + # @return [String] + # # @see http://docs.aws.amazon.com/goto/WebAPI/artifact-2018-05-10/ValidationExceptionField AWS API Documentation # class ValidationExceptionField < Struct.new( - :message, - :name) + :name, + :message) SENSITIVE = [] include Aws::Structure end diff --git a/gems/aws-sdk-artifact/lib/aws-sdk-artifact/waiters.rb b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/waiters.rb new file mode 100644 index 00000000000..0001bc47c65 --- /dev/null +++ b/gems/aws-sdk-artifact/lib/aws-sdk-artifact/waiters.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +require 'aws-sdk-core/waiters' + +module Aws::Artifact + module Waiters + end +end diff --git a/gems/aws-sdk-artifact/sig/client.rbs b/gems/aws-sdk-artifact/sig/client.rbs index 90a9c800513..860a4e27eb0 100644 --- a/gems/aws-sdk-artifact/sig/client.rbs +++ b/gems/aws-sdk-artifact/sig/client.rbs @@ -118,8 +118,8 @@ module Aws interface _ListReportsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListReportsResponse] - def next_token: () -> ::String def reports: () -> ::Array[Types::ReportSummary] + def next_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Artifact/Client.html#list_reports-instance_method def list_reports: ( diff --git a/gems/aws-sdk-artifact/sig/errors.rbs b/gems/aws-sdk-artifact/sig/errors.rbs index 3096339cb02..67fd596154d 100644 --- a/gems/aws-sdk-artifact/sig/errors.rbs +++ b/gems/aws-sdk-artifact/sig/errors.rbs @@ -30,21 +30,21 @@ module Aws end class ServiceQuotaExceededException < ::Aws::Errors::ServiceError def message: () -> ::String - def quota_code: () -> ::String def resource_id: () -> ::String def resource_type: () -> ::String def service_code: () -> ::String + def quota_code: () -> ::String end class ThrottlingException < ::Aws::Errors::ServiceError def message: () -> ::String + def service_code: () -> ::String def quota_code: () -> ::String def retry_after_seconds: () -> ::String - def service_code: () -> ::String end class ValidationException < ::Aws::Errors::ServiceError - def field_list: () -> ::String def message: () -> ::String def reason: () -> ::String + def field_list: () -> ::String end end end diff --git a/gems/aws-sdk-artifact/sig/types.rbs b/gems/aws-sdk-artifact/sig/types.rbs index b544909fe0e..ebf8a00ce72 100644 --- a/gems/aws-sdk-artifact/sig/types.rbs +++ b/gems/aws-sdk-artifact/sig/types.rbs @@ -81,8 +81,8 @@ module Aws::Artifact end class ListReportsResponse - attr_accessor next_token: ::String attr_accessor reports: ::Array[Types::ReportSummary] + attr_accessor next_token: ::String SENSITIVE: [] end @@ -97,44 +97,45 @@ module Aws::Artifact end class ReportDetail - attr_accessor acceptance_type: ("PASSTHROUGH" | "EXPLICIT") - attr_accessor arn: ::String - attr_accessor category: ::String - attr_accessor company_name: ::String - attr_accessor created_at: ::Time - attr_accessor deleted_at: ::Time - attr_accessor description: ::String attr_accessor id: ::String - attr_accessor last_modified_at: ::Time attr_accessor name: ::String - attr_accessor period_end: ::Time + attr_accessor description: ::String attr_accessor period_start: ::Time - attr_accessor product_name: ::String - attr_accessor sequence_number: ::Integer - attr_accessor series: ::String + attr_accessor period_end: ::Time + attr_accessor created_at: ::Time + attr_accessor last_modified_at: ::Time + attr_accessor deleted_at: ::Time attr_accessor state: ("PUBLISHED" | "UNPUBLISHED") - attr_accessor status_message: ::String + attr_accessor arn: ::String + attr_accessor series: ::String + attr_accessor category: ::String + attr_accessor company_name: ::String + attr_accessor product_name: ::String attr_accessor term_arn: ::String - attr_accessor upload_state: ("PROCESSING" | "COMPLETE" | "FAILED" | "FAULT") attr_accessor version: ::Integer + attr_accessor acceptance_type: ("PASSTHROUGH" | "EXPLICIT") + attr_accessor sequence_number: ::Integer + attr_accessor upload_state: ("PROCESSING" | "COMPLETE" | "FAILED" | "FAULT") + attr_accessor status_message: ::String SENSITIVE: [] end class ReportSummary - attr_accessor arn: ::String - attr_accessor category: ::String - attr_accessor company_name: ::String - attr_accessor description: ::String attr_accessor id: ::String attr_accessor name: ::String - attr_accessor period_end: ::Time + attr_accessor state: ("PUBLISHED" | "UNPUBLISHED") + attr_accessor arn: ::String + attr_accessor version: ::Integer + attr_accessor upload_state: ("PROCESSING" | "COMPLETE" | "FAILED" | "FAULT") + attr_accessor description: ::String attr_accessor period_start: ::Time - attr_accessor product_name: ::String + attr_accessor period_end: ::Time attr_accessor series: ::String - attr_accessor state: ("PUBLISHED" | "UNPUBLISHED") + attr_accessor category: ::String + attr_accessor company_name: ::String + attr_accessor product_name: ::String attr_accessor status_message: ::String - attr_accessor upload_state: ("PROCESSING" | "COMPLETE" | "FAILED" | "FAULT") - attr_accessor version: ::Integer + attr_accessor acceptance_type: ("PASSTHROUGH" | "EXPLICIT") SENSITIVE: [] end @@ -147,31 +148,31 @@ module Aws::Artifact class ServiceQuotaExceededException attr_accessor message: ::String - attr_accessor quota_code: ::String attr_accessor resource_id: ::String attr_accessor resource_type: ::String attr_accessor service_code: ::String + attr_accessor quota_code: ::String SENSITIVE: [] end class ThrottlingException attr_accessor message: ::String + attr_accessor service_code: ::String attr_accessor quota_code: ::String attr_accessor retry_after_seconds: ::Integer - attr_accessor service_code: ::String SENSITIVE: [] end class ValidationException - attr_accessor field_list: ::Array[Types::ValidationExceptionField] attr_accessor message: ::String attr_accessor reason: ("unknownOperation" | "cannotParse" | "fieldValidationFailed" | "invalidToken" | "other") + attr_accessor field_list: ::Array[Types::ValidationExceptionField] SENSITIVE: [] end class ValidationExceptionField - attr_accessor message: ::String attr_accessor name: ::String + attr_accessor message: ::String SENSITIVE: [] end end diff --git a/gems/aws-sdk-athena/CHANGELOG.md b/gems/aws-sdk-athena/CHANGELOG.md index f2cb54a2fac..6308508c2b3 100644 --- a/gems/aws-sdk-athena/CHANGELOG.md +++ b/gems/aws-sdk-athena/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.86.0 (2024-06-19) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.85.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-athena/VERSION b/gems/aws-sdk-athena/VERSION index f288d11142d..b7844a6ffdc 100644 --- a/gems/aws-sdk-athena/VERSION +++ b/gems/aws-sdk-athena/VERSION @@ -1 +1 @@ -1.85.0 +1.86.0 diff --git a/gems/aws-sdk-athena/features/smoke.feature b/gems/aws-sdk-athena/features/smoke.feature new file mode 100644 index 00000000000..0681ca5d66f --- /dev/null +++ b/gems/aws-sdk-athena/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for Athena + + @athena @smoke + Scenario: ListNamedQueriesSuccess + Given I create a 'Aws::Athena' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'list_named_queries' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena.rb index 613f6d02d7e..88b40f2280d 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena.rb @@ -52,6 +52,6 @@ # @!group service module Aws::Athena - GEM_VERSION = '1.85.0' + GEM_VERSION = '1.86.0' end diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb index 1bc3520fbc2..c83325dfe80 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena/client.rb @@ -3685,7 +3685,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-athena' - context[:gem_version] = '1.85.0' + context[:gem_version] = '1.86.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb b/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb index dd6f239c64c..982c5f1cbf8 100644 --- a/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb +++ b/gems/aws-sdk-athena/lib/aws-sdk-athena/client_api.rb @@ -1356,6 +1356,7 @@ module ClientApi api.metadata = { "apiVersion" => "2017-05-18", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "athena", "jsonVersion" => "1.1", "protocol" => "json", diff --git a/gems/aws-sdk-core/CHANGELOG.md b/gems/aws-sdk-core/CHANGELOG.md index c9c23784f74..29e8e70a644 100644 --- a/gems/aws-sdk-core/CHANGELOG.md +++ b/gems/aws-sdk-core/CHANGELOG.md @@ -1,6 +1,9 @@ Unreleased Changes ------------------ +3.197.1 (2024-06-19) +------------------ + * Issue - Support an array of string arguments for `Aws::ProcessCredentials` to be executed by `system`. 3.197.0 (2024-06-05) diff --git a/gems/aws-sdk-core/VERSION b/gems/aws-sdk-core/VERSION index ff2ac398a4f..62d63bacd95 100644 --- a/gems/aws-sdk-core/VERSION +++ b/gems/aws-sdk-core/VERSION @@ -1 +1 @@ -3.197.0 +3.197.1 diff --git a/gems/aws-sdk-core/lib/aws-sdk-sso.rb b/gems/aws-sdk-core/lib/aws-sdk-sso.rb index 95f5945c766..b7bf3fd35ae 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sso.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sso.rb @@ -54,6 +54,6 @@ # @!group service module Aws::SSO - GEM_VERSION = '3.197.0' + GEM_VERSION = '3.197.1' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb b/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb index 059fcc31c8e..c5fa9260011 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sso/client.rb @@ -630,7 +630,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.197.0' + context[:gem_version] = '3.197.1' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb b/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb index 503cc03337c..72dee594e43 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-ssooidc.rb @@ -54,6 +54,6 @@ # @!group service module Aws::SSOOIDC - GEM_VERSION = '3.197.0' + GEM_VERSION = '3.197.1' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb b/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb index af3450c3524..619c7c09c7d 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-ssooidc/client.rb @@ -983,7 +983,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.197.0' + context[:gem_version] = '3.197.1' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sts.rb b/gems/aws-sdk-core/lib/aws-sdk-sts.rb index dbb073e3665..58936382bb7 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sts.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sts.rb @@ -54,6 +54,6 @@ # @!group service module Aws::STS - GEM_VERSION = '3.197.0' + GEM_VERSION = '3.197.1' end diff --git a/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb b/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb index ed4b64959cb..e3fdb19c158 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-sts/client.rb @@ -2377,7 +2377,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-core' - context[:gem_version] = '3.197.0' + context[:gem_version] = '3.197.1' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-costandusagereportservice/CHANGELOG.md b/gems/aws-sdk-costandusagereportservice/CHANGELOG.md index c92ffbdf17a..fa4731b640c 100644 --- a/gems/aws-sdk-costandusagereportservice/CHANGELOG.md +++ b/gems/aws-sdk-costandusagereportservice/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.58.0 (2024-06-19) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.57.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-costandusagereportservice/VERSION b/gems/aws-sdk-costandusagereportservice/VERSION index 373aea97570..79f82f6b8e0 100644 --- a/gems/aws-sdk-costandusagereportservice/VERSION +++ b/gems/aws-sdk-costandusagereportservice/VERSION @@ -1 +1 @@ -1.57.0 +1.58.0 diff --git a/gems/aws-sdk-costandusagereportservice/features/smoke.feature b/gems/aws-sdk-costandusagereportservice/features/smoke.feature new file mode 100644 index 00000000000..bdbc1e733e8 --- /dev/null +++ b/gems/aws-sdk-costandusagereportservice/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for CostandUsageReportService + + @costandusagereportservice @smoke + Scenario: DescribeReportDefinitionsSuccess + Given I create a 'Aws::CostandUsageReportService' client with config: + """ +{"region":"us-east-1"} + """ + When I call the operation 'describe_report_definitions' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice.rb b/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice.rb index eb6beeedaaa..4d9bf683bc1 100644 --- a/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice.rb +++ b/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice.rb @@ -52,6 +52,6 @@ # @!group service module Aws::CostandUsageReportService - GEM_VERSION = '1.57.0' + GEM_VERSION = '1.58.0' end diff --git a/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client.rb b/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client.rb index 1e5490121a1..2951806fe77 100644 --- a/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client.rb +++ b/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client.rb @@ -784,7 +784,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-costandusagereportservice' - context[:gem_version] = '1.57.0' + context[:gem_version] = '1.58.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client_api.rb b/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client_api.rb index 983b48b5bf9..1d98091a1a5 100644 --- a/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client_api.rb +++ b/gems/aws-sdk-costandusagereportservice/lib/aws-sdk-costandusagereportservice/client_api.rb @@ -161,9 +161,11 @@ module ClientApi api.metadata = { "apiVersion" => "2017-01-06", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "cur", "jsonVersion" => "1.1", "protocol" => "json", + "protocols" => ["json"], "serviceFullName" => "AWS Cost and Usage Report Service", "serviceId" => "Cost and Usage Report Service", "signatureVersion" => "v4", diff --git a/gems/aws-sdk-directconnect/CHANGELOG.md b/gems/aws-sdk-directconnect/CHANGELOG.md index 21e2afd4595..c34fdbeab6e 100644 --- a/gems/aws-sdk-directconnect/CHANGELOG.md +++ b/gems/aws-sdk-directconnect/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.73.0 (2024-06-19) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.72.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-directconnect/VERSION b/gems/aws-sdk-directconnect/VERSION index 0834888f558..5e3a4256626 100644 --- a/gems/aws-sdk-directconnect/VERSION +++ b/gems/aws-sdk-directconnect/VERSION @@ -1 +1 @@ -1.72.0 +1.73.0 diff --git a/gems/aws-sdk-directconnect/features/smoke.feature b/gems/aws-sdk-directconnect/features/smoke.feature new file mode 100644 index 00000000000..1d360131068 --- /dev/null +++ b/gems/aws-sdk-directconnect/features/smoke.feature @@ -0,0 +1,32 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for DirectConnect + + @directconnect @smoke + Scenario: DescribeConnectionsSuccess + Given I create a 'Aws::DirectConnect' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_connections' with params: + """ +{} + """ + Then I expect an error was not raised + + @directconnect @smoke + Scenario: DescribeConnectionsFailure + Given I create a 'Aws::DirectConnect' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'describe_connections' with params: + """ +{"connection_id":"fake-connection"} + """ + Then I expect an error was raised diff --git a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect.rb b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect.rb index 13b797660ad..af3d9b2c794 100644 --- a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect.rb +++ b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect.rb @@ -52,6 +52,6 @@ # @!group service module Aws::DirectConnect - GEM_VERSION = '1.72.0' + GEM_VERSION = '1.73.0' end diff --git a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb index 7b7cbcc5abf..a4e3b9f755a 100644 --- a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb +++ b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client.rb @@ -4952,7 +4952,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-directconnect' - context[:gem_version] = '1.72.0' + context[:gem_version] = '1.73.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client_api.rb b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client_api.rb index 5c898fb6ab2..9ead3d9b273 100644 --- a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client_api.rb +++ b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/client_api.rb @@ -1030,9 +1030,11 @@ module ClientApi api.metadata = { "apiVersion" => "2012-10-25", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "directconnect", "jsonVersion" => "1.1", "protocol" => "json", + "protocols" => ["json"], "serviceFullName" => "AWS Direct Connect", "serviceId" => "Direct Connect", "signatureVersion" => "v4", diff --git a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/endpoint_provider.rb b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/endpoint_provider.rb index e4b341ed26d..8a2cefb6393 100644 --- a/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/endpoint_provider.rb +++ b/gems/aws-sdk-directconnect/lib/aws-sdk-directconnect/endpoint_provider.rb @@ -32,7 +32,7 @@ def resolve_endpoint(parameters) raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both" end if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) + if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true) return Aws::Endpoints::Endpoint.new(url: "https://directconnect-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) end raise ArgumentError, "FIPS is enabled but this partition does not support FIPS" diff --git a/gems/aws-sdk-elastictranscoder/CHANGELOG.md b/gems/aws-sdk-elastictranscoder/CHANGELOG.md index b45c335f5ba..625a513082c 100644 --- a/gems/aws-sdk-elastictranscoder/CHANGELOG.md +++ b/gems/aws-sdk-elastictranscoder/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.54.0 (2024-06-19) +------------------ + +* Feature - Add v2 smoke tests and smithy smokeTests trait for SDK testing. + 1.53.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-elastictranscoder/VERSION b/gems/aws-sdk-elastictranscoder/VERSION index 3f4830156cb..b7921ae87bc 100644 --- a/gems/aws-sdk-elastictranscoder/VERSION +++ b/gems/aws-sdk-elastictranscoder/VERSION @@ -1 +1 @@ -1.53.0 +1.54.0 diff --git a/gems/aws-sdk-elastictranscoder/features/smoke.feature b/gems/aws-sdk-elastictranscoder/features/smoke.feature new file mode 100644 index 00000000000..52738668a65 --- /dev/null +++ b/gems/aws-sdk-elastictranscoder/features/smoke.feature @@ -0,0 +1,20 @@ +# WARNING ABOUT GENERATED CODE +# +# This file is generated. See the contributing guide for more information: +# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md +# +# WARNING ABOUT GENERATED CODE + +Feature: Smoke tests for ElasticTranscoder + + @elastictranscoder @smoke + Scenario: ListPresetsSuccess + Given I create a 'Aws::ElasticTranscoder' client with config: + """ +{"region":"us-west-2"} + """ + When I call the operation 'list_presets' with params: + """ +{} + """ + Then I expect an error was not raised diff --git a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder.rb b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder.rb index 625bfd588fb..3654f2b7092 100644 --- a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder.rb +++ b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder.rb @@ -53,6 +53,6 @@ # @!group service module Aws::ElasticTranscoder - GEM_VERSION = '1.53.0' + GEM_VERSION = '1.54.0' end diff --git a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client.rb b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client.rb index 242dd3134f3..5eb9b151650 100644 --- a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client.rb +++ b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client.rb @@ -3077,7 +3077,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-elastictranscoder' - context[:gem_version] = '1.53.0' + context[:gem_version] = '1.54.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client_api.rb b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client_api.rb index 66554a9b84c..f340c60f33d 100644 --- a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client_api.rb +++ b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/client_api.rb @@ -653,8 +653,10 @@ module ClientApi api.metadata = { "apiVersion" => "2012-09-25", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "elastictranscoder", "protocol" => "rest-json", + "protocols" => ["rest-json"], "serviceFullName" => "Amazon Elastic Transcoder", "serviceId" => "Elastic Transcoder", "signatureVersion" => "v4", diff --git a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/endpoint_provider.rb b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/endpoint_provider.rb index 378283d9cf0..c452eab852f 100644 --- a/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/endpoint_provider.rb +++ b/gems/aws-sdk-elastictranscoder/lib/aws-sdk-elastictranscoder/endpoint_provider.rb @@ -32,7 +32,7 @@ def resolve_endpoint(parameters) raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both" end if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) - if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) + if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true) return Aws::Endpoints::Endpoint.new(url: "https://elastictranscoder-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {}) end raise ArgumentError, "FIPS is enabled but this partition does not support FIPS" diff --git a/gems/aws-sdk-opensearchservice/CHANGELOG.md b/gems/aws-sdk-opensearchservice/CHANGELOG.md index 171887961da..8b197305c39 100644 --- a/gems/aws-sdk-opensearchservice/CHANGELOG.md +++ b/gems/aws-sdk-opensearchservice/CHANGELOG.md @@ -1,6 +1,11 @@ Unreleased Changes ------------------ +1.44.0 (2024-06-19) +------------------ + +* Feature - This release enables customers to use JSON Web Tokens (JWT) for authentication on their Amazon OpenSearch Service domains. + 1.43.0 (2024-06-05) ------------------ diff --git a/gems/aws-sdk-opensearchservice/VERSION b/gems/aws-sdk-opensearchservice/VERSION index b978278f05f..372cf402c73 100644 --- a/gems/aws-sdk-opensearchservice/VERSION +++ b/gems/aws-sdk-opensearchservice/VERSION @@ -1 +1 @@ -1.43.0 +1.44.0 diff --git a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice.rb b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice.rb index d8169d7866e..db68d02a41d 100644 --- a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice.rb +++ b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice.rb @@ -52,6 +52,6 @@ # @!group service module Aws::OpenSearchService - GEM_VERSION = '1.43.0' + GEM_VERSION = '1.44.0' end diff --git a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client.rb b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client.rb index d1712405941..731da28fb35 100644 --- a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client.rb +++ b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client.rb @@ -936,6 +936,12 @@ def cancel_service_software_update(params = {}, options = {}) # roles_key: "String", # session_timeout_minutes: 1, # }, + # jwt_options: { + # enabled: false, + # subject_key: "SubjectKey", + # roles_key: "RolesKey", + # public_key: "String", + # }, # anonymous_auth_enabled: false, # }, # tag_list: [ @@ -1047,6 +1053,10 @@ def cancel_service_software_update(params = {}, options = {}) # resp.domain_status.advanced_security_options.saml_options.subject_key #=> String # resp.domain_status.advanced_security_options.saml_options.roles_key #=> String # resp.domain_status.advanced_security_options.saml_options.session_timeout_minutes #=> Integer + # resp.domain_status.advanced_security_options.jwt_options.enabled #=> Boolean + # resp.domain_status.advanced_security_options.jwt_options.subject_key #=> String + # resp.domain_status.advanced_security_options.jwt_options.roles_key #=> String + # resp.domain_status.advanced_security_options.jwt_options.public_key #=> String # resp.domain_status.advanced_security_options.anonymous_auth_disable_date #=> Time # resp.domain_status.advanced_security_options.anonymous_auth_enabled #=> Boolean # resp.domain_status.auto_tune_options.state #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "DISABLED_AND_ROLLBACK_SCHEDULED", "DISABLED_AND_ROLLBACK_IN_PROGRESS", "DISABLED_AND_ROLLBACK_COMPLETE", "DISABLED_AND_ROLLBACK_ERROR", "ERROR" @@ -1408,6 +1418,10 @@ def delete_data_source(params = {}, options = {}) # resp.domain_status.advanced_security_options.saml_options.subject_key #=> String # resp.domain_status.advanced_security_options.saml_options.roles_key #=> String # resp.domain_status.advanced_security_options.saml_options.session_timeout_minutes #=> Integer + # resp.domain_status.advanced_security_options.jwt_options.enabled #=> Boolean + # resp.domain_status.advanced_security_options.jwt_options.subject_key #=> String + # resp.domain_status.advanced_security_options.jwt_options.roles_key #=> String + # resp.domain_status.advanced_security_options.jwt_options.public_key #=> String # resp.domain_status.advanced_security_options.anonymous_auth_disable_date #=> Time # resp.domain_status.advanced_security_options.anonymous_auth_enabled #=> Boolean # resp.domain_status.auto_tune_options.state #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "DISABLED_AND_ROLLBACK_SCHEDULED", "DISABLED_AND_ROLLBACK_IN_PROGRESS", "DISABLED_AND_ROLLBACK_COMPLETE", "DISABLED_AND_ROLLBACK_ERROR", "ERROR" @@ -1702,6 +1716,10 @@ def delete_vpc_endpoint(params = {}, options = {}) # resp.domain_status.advanced_security_options.saml_options.subject_key #=> String # resp.domain_status.advanced_security_options.saml_options.roles_key #=> String # resp.domain_status.advanced_security_options.saml_options.session_timeout_minutes #=> Integer + # resp.domain_status.advanced_security_options.jwt_options.enabled #=> Boolean + # resp.domain_status.advanced_security_options.jwt_options.subject_key #=> String + # resp.domain_status.advanced_security_options.jwt_options.roles_key #=> String + # resp.domain_status.advanced_security_options.jwt_options.public_key #=> String # resp.domain_status.advanced_security_options.anonymous_auth_disable_date #=> Time # resp.domain_status.advanced_security_options.anonymous_auth_enabled #=> Boolean # resp.domain_status.auto_tune_options.state #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "DISABLED_AND_ROLLBACK_SCHEDULED", "DISABLED_AND_ROLLBACK_IN_PROGRESS", "DISABLED_AND_ROLLBACK_COMPLETE", "DISABLED_AND_ROLLBACK_ERROR", "ERROR" @@ -1979,6 +1997,10 @@ def describe_domain_change_progress(params = {}, options = {}) # resp.domain_config.advanced_security_options.options.saml_options.subject_key #=> String # resp.domain_config.advanced_security_options.options.saml_options.roles_key #=> String # resp.domain_config.advanced_security_options.options.saml_options.session_timeout_minutes #=> Integer + # resp.domain_config.advanced_security_options.options.jwt_options.enabled #=> Boolean + # resp.domain_config.advanced_security_options.options.jwt_options.subject_key #=> String + # resp.domain_config.advanced_security_options.options.jwt_options.roles_key #=> String + # resp.domain_config.advanced_security_options.options.jwt_options.public_key #=> String # resp.domain_config.advanced_security_options.options.anonymous_auth_disable_date #=> Time # resp.domain_config.advanced_security_options.options.anonymous_auth_enabled #=> Boolean # resp.domain_config.advanced_security_options.status.creation_date #=> Time @@ -2227,6 +2249,10 @@ def describe_domain_nodes(params = {}, options = {}) # resp.domain_status_list[0].advanced_security_options.saml_options.subject_key #=> String # resp.domain_status_list[0].advanced_security_options.saml_options.roles_key #=> String # resp.domain_status_list[0].advanced_security_options.saml_options.session_timeout_minutes #=> Integer + # resp.domain_status_list[0].advanced_security_options.jwt_options.enabled #=> Boolean + # resp.domain_status_list[0].advanced_security_options.jwt_options.subject_key #=> String + # resp.domain_status_list[0].advanced_security_options.jwt_options.roles_key #=> String + # resp.domain_status_list[0].advanced_security_options.jwt_options.public_key #=> String # resp.domain_status_list[0].advanced_security_options.anonymous_auth_disable_date #=> Time # resp.domain_status_list[0].advanced_security_options.anonymous_auth_enabled #=> Boolean # resp.domain_status_list[0].auto_tune_options.state #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "DISABLED_AND_ROLLBACK_SCHEDULED", "DISABLED_AND_ROLLBACK_IN_PROGRESS", "DISABLED_AND_ROLLBACK_COMPLETE", "DISABLED_AND_ROLLBACK_ERROR", "ERROR" @@ -2373,6 +2399,10 @@ def describe_domains(params = {}, options = {}) # resp.dry_run_config.advanced_security_options.saml_options.subject_key #=> String # resp.dry_run_config.advanced_security_options.saml_options.roles_key #=> String # resp.dry_run_config.advanced_security_options.saml_options.session_timeout_minutes #=> Integer + # resp.dry_run_config.advanced_security_options.jwt_options.enabled #=> Boolean + # resp.dry_run_config.advanced_security_options.jwt_options.subject_key #=> String + # resp.dry_run_config.advanced_security_options.jwt_options.roles_key #=> String + # resp.dry_run_config.advanced_security_options.jwt_options.public_key #=> String # resp.dry_run_config.advanced_security_options.anonymous_auth_disable_date #=> Time # resp.dry_run_config.advanced_security_options.anonymous_auth_enabled #=> Boolean # resp.dry_run_config.auto_tune_options.state #=> String, one of "ENABLED", "DISABLED", "ENABLE_IN_PROGRESS", "DISABLE_IN_PROGRESS", "DISABLED_AND_ROLLBACK_SCHEDULED", "DISABLED_AND_ROLLBACK_IN_PROGRESS", "DISABLED_AND_ROLLBACK_COMPLETE", "DISABLED_AND_ROLLBACK_ERROR", "ERROR" @@ -3992,7 +4022,7 @@ def start_service_software_update(params = {}, options = {}) # A new description of the data source. # # @option params [String] :status - # The status of the data source update request. + # The status of the data source update. # # @return [Types::UpdateDataSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # @@ -4230,6 +4260,12 @@ def update_data_source(params = {}, options = {}) # roles_key: "String", # session_timeout_minutes: 1, # }, + # jwt_options: { + # enabled: false, + # subject_key: "SubjectKey", + # roles_key: "RolesKey", + # public_key: "String", + # }, # anonymous_auth_enabled: false, # }, # auto_tune_options: { @@ -4383,6 +4419,10 @@ def update_data_source(params = {}, options = {}) # resp.domain_config.advanced_security_options.options.saml_options.subject_key #=> String # resp.domain_config.advanced_security_options.options.saml_options.roles_key #=> String # resp.domain_config.advanced_security_options.options.saml_options.session_timeout_minutes #=> Integer + # resp.domain_config.advanced_security_options.options.jwt_options.enabled #=> Boolean + # resp.domain_config.advanced_security_options.options.jwt_options.subject_key #=> String + # resp.domain_config.advanced_security_options.options.jwt_options.roles_key #=> String + # resp.domain_config.advanced_security_options.options.jwt_options.public_key #=> String # resp.domain_config.advanced_security_options.options.anonymous_auth_disable_date #=> Time # resp.domain_config.advanced_security_options.options.anonymous_auth_enabled #=> Boolean # resp.domain_config.advanced_security_options.status.creation_date #=> Time @@ -4722,7 +4762,7 @@ def build_request(operation_name, params = {}) params: params, config: config) context[:gem_name] = 'aws-sdk-opensearchservice' - context[:gem_version] = '1.43.0' + context[:gem_version] = '1.44.0' Seahorse::Client::Request.new(handlers, context) end diff --git a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client_api.rb b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client_api.rb index 2ad721dbacb..73c2a7b5ad0 100644 --- a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client_api.rb +++ b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/client_api.rb @@ -244,6 +244,8 @@ module ClientApi InvalidTypeException = Shapes::StructureShape.new(name: 'InvalidTypeException') Issue = Shapes::StringShape.new(name: 'Issue') Issues = Shapes::ListShape.new(name: 'Issues') + JWTOptionsInput = Shapes::StructureShape.new(name: 'JWTOptionsInput') + JWTOptionsOutput = Shapes::StructureShape.new(name: 'JWTOptionsOutput') KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId') LastUpdated = Shapes::TimestampShape.new(name: 'LastUpdated') LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException') @@ -356,6 +358,7 @@ module ClientApi RevokeVpcEndpointAccessRequest = Shapes::StructureShape.new(name: 'RevokeVpcEndpointAccessRequest') RevokeVpcEndpointAccessResponse = Shapes::StructureShape.new(name: 'RevokeVpcEndpointAccessResponse') RoleArn = Shapes::StringShape.new(name: 'RoleArn') + RolesKey = Shapes::StringShape.new(name: 'RolesKey') RollbackOnDisable = Shapes::StringShape.new(name: 'RollbackOnDisable') S3BucketName = Shapes::StringShape.new(name: 'S3BucketName') S3GlueDataCatalog = Shapes::StructureShape.new(name: 'S3GlueDataCatalog') @@ -398,6 +401,7 @@ module ClientApi StorageTypeName = Shapes::StringShape.new(name: 'StorageTypeName') String = Shapes::StringShape.new(name: 'String') StringList = Shapes::ListShape.new(name: 'StringList') + SubjectKey = Shapes::StringShape.new(name: 'SubjectKey') TLSSecurityPolicy = Shapes::StringShape.new(name: 'TLSSecurityPolicy') Tag = Shapes::StructureShape.new(name: 'Tag') TagKey = Shapes::StringShape.new(name: 'TagKey') @@ -501,6 +505,7 @@ module ClientApi AdvancedSecurityOptions.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled")) AdvancedSecurityOptions.add_member(:internal_user_database_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "InternalUserDatabaseEnabled")) AdvancedSecurityOptions.add_member(:saml_options, Shapes::ShapeRef.new(shape: SAMLOptionsOutput, location_name: "SAMLOptions")) + AdvancedSecurityOptions.add_member(:jwt_options, Shapes::ShapeRef.new(shape: JWTOptionsOutput, location_name: "JWTOptions")) AdvancedSecurityOptions.add_member(:anonymous_auth_disable_date, Shapes::ShapeRef.new(shape: DisableTimestamp, location_name: "AnonymousAuthDisableDate")) AdvancedSecurityOptions.add_member(:anonymous_auth_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "AnonymousAuthEnabled")) AdvancedSecurityOptions.struct_class = Types::AdvancedSecurityOptions @@ -509,6 +514,7 @@ module ClientApi AdvancedSecurityOptionsInput.add_member(:internal_user_database_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "InternalUserDatabaseEnabled")) AdvancedSecurityOptionsInput.add_member(:master_user_options, Shapes::ShapeRef.new(shape: MasterUserOptions, location_name: "MasterUserOptions")) AdvancedSecurityOptionsInput.add_member(:saml_options, Shapes::ShapeRef.new(shape: SAMLOptionsInput, location_name: "SAMLOptions")) + AdvancedSecurityOptionsInput.add_member(:jwt_options, Shapes::ShapeRef.new(shape: JWTOptionsInput, location_name: "JWTOptions")) AdvancedSecurityOptionsInput.add_member(:anonymous_auth_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "AnonymousAuthEnabled")) AdvancedSecurityOptionsInput.struct_class = Types::AdvancedSecurityOptionsInput @@ -1217,6 +1223,18 @@ module ClientApi Issues.member = Shapes::ShapeRef.new(shape: Issue) + JWTOptionsInput.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled")) + JWTOptionsInput.add_member(:subject_key, Shapes::ShapeRef.new(shape: SubjectKey, location_name: "SubjectKey")) + JWTOptionsInput.add_member(:roles_key, Shapes::ShapeRef.new(shape: RolesKey, location_name: "RolesKey")) + JWTOptionsInput.add_member(:public_key, Shapes::ShapeRef.new(shape: String, location_name: "PublicKey")) + JWTOptionsInput.struct_class = Types::JWTOptionsInput + + JWTOptionsOutput.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "Enabled")) + JWTOptionsOutput.add_member(:subject_key, Shapes::ShapeRef.new(shape: String, location_name: "SubjectKey")) + JWTOptionsOutput.add_member(:roles_key, Shapes::ShapeRef.new(shape: String, location_name: "RolesKey")) + JWTOptionsOutput.add_member(:public_key, Shapes::ShapeRef.new(shape: String, location_name: "PublicKey")) + JWTOptionsOutput.struct_class = Types::JWTOptionsOutput + LimitExceededException.struct_class = Types::LimitExceededException LimitValueList.member = Shapes::ShapeRef.new(shape: LimitValue) @@ -1763,6 +1781,7 @@ module ClientApi api.metadata = { "apiVersion" => "2021-01-01", + "auth" => ["aws.auth#sigv4"], "endpointPrefix" => "es", "protocol" => "rest-json", "protocols" => ["rest-json"], diff --git a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/types.rb b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/types.rb index 740dc6d5295..6b64f1b8732 100644 --- a/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/types.rb +++ b/gems/aws-sdk-opensearchservice/lib/aws-sdk-opensearchservice/types.rb @@ -250,6 +250,11 @@ class AdvancedOptionsStatus < Struct.new( # OpenSearch Dashboards. # @return [Types::SAMLOptionsOutput] # + # @!attribute [rw] jwt_options + # Container for information about the JWT configuration of the Amazon + # OpenSearch Service. + # @return [Types::JWTOptionsOutput] + # # @!attribute [rw] anonymous_auth_disable_date # Date and time when the migration period will be disabled. Only # necessary when [enabling fine-grained access control on an existing @@ -276,6 +281,7 @@ class AdvancedSecurityOptions < Struct.new( :enabled, :internal_user_database_enabled, :saml_options, + :jwt_options, :anonymous_auth_disable_date, :anonymous_auth_enabled) SENSITIVE = [] @@ -307,6 +313,11 @@ class AdvancedSecurityOptions < Struct.new( # OpenSearch Dashboards. # @return [Types::SAMLOptionsInput] # + # @!attribute [rw] jwt_options + # Container for information about the JWT configuration of the Amazon + # OpenSearch Service. + # @return [Types::JWTOptionsInput] + # # @!attribute [rw] anonymous_auth_enabled # True to enable a 30-day migration period during which administrators # can create role mappings. Only necessary when [enabling fine-grained @@ -324,6 +335,7 @@ class AdvancedSecurityOptionsInput < Struct.new( :internal_user_database_enabled, :master_user_options, :saml_options, + :jwt_options, :anonymous_auth_enabled) SENSITIVE = [] include Aws::Structure @@ -3508,7 +3520,7 @@ class GetDataSourceRequest < Struct.new( # @return [String] # # @!attribute [rw] status - # The status of the data source response. + # The status of the data source. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetDataSourceResponse AWS API Documentation @@ -3942,6 +3954,66 @@ class InvalidPaginationTokenException < Aws::EmptyStructure; end # class InvalidTypeException < Aws::EmptyStructure; end + # The JWT authentication and authorization configuration for an Amazon + # OpenSearch Service domain. + # + # @!attribute [rw] enabled + # True to enable JWT authentication and authorization for a domain. + # @return [Boolean] + # + # @!attribute [rw] subject_key + # Element of the JWT assertion to use for the user name. + # @return [String] + # + # @!attribute [rw] roles_key + # Element of the JWT assertion to use for roles. + # @return [String] + # + # @!attribute [rw] public_key + # Element of the JWT assertion used by the cluster to verify JWT + # signatures. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/JWTOptionsInput AWS API Documentation + # + class JWTOptionsInput < Struct.new( + :enabled, + :subject_key, + :roles_key, + :public_key) + SENSITIVE = [] + include Aws::Structure + end + + # Describes the JWT options configured for the domain. + # + # @!attribute [rw] enabled + # True if JWT use is enabled. + # @return [Boolean] + # + # @!attribute [rw] subject_key + # The key used for matching the JWT subject attribute. + # @return [String] + # + # @!attribute [rw] roles_key + # The key used for matching the JWT roles attribute. + # @return [String] + # + # @!attribute [rw] public_key + # The key used to verify the signature of incoming JWT requests. + # @return [String] + # + # @see http://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/JWTOptionsOutput AWS API Documentation + # + class JWTOptionsOutput < Struct.new( + :enabled, + :subject_key, + :roles_key, + :public_key) + SENSITIVE = [] + include Aws::Structure + end + # An exception for trying to create more than the allowed number of # resources or sub-resources. # @@ -5884,7 +5956,7 @@ class Tag < Struct.new( # @return [String] # # @!attribute [rw] status - # The status of the data source update request. + # The status of the data source update. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdateDataSourceRequest AWS API Documentation diff --git a/gems/aws-sdk-opensearchservice/sig/client.rbs b/gems/aws-sdk-opensearchservice/sig/client.rbs index 4a9de6fbc36..d7c6943cd12 100644 --- a/gems/aws-sdk-opensearchservice/sig/client.rbs +++ b/gems/aws-sdk-opensearchservice/sig/client.rbs @@ -243,6 +243,12 @@ module Aws roles_key: ::String?, session_timeout_minutes: ::Integer? }?, + jwt_options: { + enabled: bool?, + subject_key: ::String?, + roles_key: ::String?, + public_key: ::String? + }?, anonymous_auth_enabled: bool? }, ?tag_list: Array[ @@ -1019,6 +1025,12 @@ module Aws roles_key: ::String?, session_timeout_minutes: ::Integer? }?, + jwt_options: { + enabled: bool?, + subject_key: ::String?, + roles_key: ::String?, + public_key: ::String? + }?, anonymous_auth_enabled: bool? }, ?auto_tune_options: { diff --git a/gems/aws-sdk-opensearchservice/sig/types.rbs b/gems/aws-sdk-opensearchservice/sig/types.rbs index f0a9470a25c..50fb9a0e66a 100644 --- a/gems/aws-sdk-opensearchservice/sig/types.rbs +++ b/gems/aws-sdk-opensearchservice/sig/types.rbs @@ -69,6 +69,7 @@ module Aws::OpenSearchService attr_accessor enabled: bool attr_accessor internal_user_database_enabled: bool attr_accessor saml_options: Types::SAMLOptionsOutput + attr_accessor jwt_options: Types::JWTOptionsOutput attr_accessor anonymous_auth_disable_date: ::Time attr_accessor anonymous_auth_enabled: bool SENSITIVE: [] @@ -79,6 +80,7 @@ module Aws::OpenSearchService attr_accessor internal_user_database_enabled: bool attr_accessor master_user_options: Types::MasterUserOptions attr_accessor saml_options: Types::SAMLOptionsInput + attr_accessor jwt_options: Types::JWTOptionsInput attr_accessor anonymous_auth_enabled: bool SENSITIVE: [] end @@ -994,6 +996,22 @@ module Aws::OpenSearchService class InvalidTypeException < Aws::EmptyStructure end + class JWTOptionsInput + attr_accessor enabled: bool + attr_accessor subject_key: ::String + attr_accessor roles_key: ::String + attr_accessor public_key: ::String + SENSITIVE: [] + end + + class JWTOptionsOutput + attr_accessor enabled: bool + attr_accessor subject_key: ::String + attr_accessor roles_key: ::String + attr_accessor public_key: ::String + SENSITIVE: [] + end + class LimitExceededException < Aws::EmptyStructure end