diff --git a/CHANGELOG.md b/CHANGELOG.md index fd837801b12..c5e699d0629 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +Release v1.51.27 (2024-04-23) +=== + +### Service Client Updates +* `service/bedrock`: Updates service API, documentation, and paginators +* `service/bedrock-agent`: Updates service API and documentation +* `service/bedrock-agent-runtime`: Updates service API and documentation +* `service/bedrock-runtime`: Updates service API and documentation +* `service/ce`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * This release introduces EC2 AMI Deregistration Protection, a new AMI property that can be enabled by customers to protect an AMI against an unintended deregistration. This release also enables the AMI owners to view the AMI 'LastLaunchedTime' in DescribeImages API. +* `service/pi`: Updates service documentation +* `service/rds`: Updates service API, documentation, waiters, paginators, and examples + * Fix the example ARN for ModifyActivityStreamRequest +* `service/workspaces-web`: Updates service API and documentation + Release v1.51.26 (2024-04-22) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 2344c96d6f9..f82c4e55450 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -36382,6 +36382,19 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "entitlement.marketplace": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{ + Hostname: "entitlement-marketplace.cn-northwest-1.amazonaws.com.cn", + Protocols: []string{"HTTPS"}, + CredentialScope: credentialScope{ + Region: "cn-northwest-1", + }, + }, + }, + }, "es": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index d93f257273f..b83e9c6b65f 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.51.26" +const SDKVersion = "1.51.27" diff --git a/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json b/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json index bfb4fafdbb6..d600eef02c8 100644 --- a/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json +++ b/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json @@ -336,6 +336,31 @@ "box": true, "type": "boolean" }, + "ByteContentBlob": { + "max": 10485760, + "min": 1, + "sensitive": true, + "type": "blob" + }, + "ByteContentDoc": { + "members": { + "contentType": { + "shape": "ContentType" + }, + "data": { + "shape": "ByteContentBlob" + }, + "identifier": { + "shape": "Identifier" + } + }, + "required": [ + "contentType", + "data", + "identifier" + ], + "type": "structure" + }, "Citation": { "members": { "generatedResponsePart": { @@ -383,6 +408,10 @@ "shape": "Parameters" } }, + "ContentType": { + "pattern": "[a-z]{1,20}/.{1,20}", + "type": "string" + }, "CreationMode": { "enum": [ "DEFAULT", @@ -410,6 +439,64 @@ "box": true, "type": "double" }, + "ExternalSource": { + "members": { + "byteContent": { + "shape": "ByteContentDoc" + }, + "s3Location": { + "shape": "S3ObjectDoc" + }, + "sourceType": { + "shape": "ExternalSourceType" + } + }, + "required": [ + "sourceType" + ], + "type": "structure" + }, + "ExternalSourceType": { + "enum": [ + "S3", + "BYTE_CONTENT" + ], + "type": "string" + }, + "ExternalSources": { + "max": 1, + "member": { + "shape": "ExternalSource" + }, + "min": 1, + "type": "list" + }, + "ExternalSourcesGenerationConfiguration": { + "members": { + "promptTemplate": { + "shape": "PromptTemplate" + } + }, + "type": "structure" + }, + "ExternalSourcesRetrieveAndGenerateConfiguration": { + "members": { + "generationConfiguration": { + "shape": "ExternalSourcesGenerationConfiguration" + }, + "modelArn": { + "shape": "BedrockModelArn" + }, + "sources": { + "shape": "ExternalSources" + } + }, + "required": [ + "modelArn", + "sources" + ], + "type": "structure" + }, "FailureReasonString": { "sensitive": true, "type": "string" @@ -520,6 +607,12 @@ }, "type": "structure" }, + "Identifier": { + "max": 1024, + "min": 1, + "sensitive": true, + "type": "string" + }, "InferenceConfiguration": { "members": { "maximumLength": { @@ -1237,6 +1330,9 @@ }, "RetrieveAndGenerateConfiguration": { "members": { + "externalSourcesConfiguration": { + "shape": "ExternalSourcesRetrieveAndGenerateConfiguration" + }, "knowledgeBaseConfiguration": { "shape": "KnowledgeBaseRetrieveAndGenerateConfiguration" }, @@ -1329,7 +1425,8 @@ }, "RetrieveAndGenerateType": { "enum": [ - "KNOWLEDGE_BASE" + "KNOWLEDGE_BASE", + "EXTERNAL_SOURCES" ], "type": "string" }, @@ -1408,6 +1505,23 @@ "sensitive": true, "type": "structure" }, + "S3ObjectDoc": { + "members": { + "uri": { + "shape": "S3Uri" + } + }, + "required": [ + "uri" + ], + "type": "structure" + }, + "S3Uri": { + "max": 1024, + "min": 1, + "pattern": "^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/.{1,1024}$", + "type": "string" + }, "SearchType": { "enum": [ "HYBRID", diff --git a/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json b/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json index aa5ae2fdfe1..583e2849dd6 100644 --- a/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json +++ b/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json @@ -116,6 +116,7 @@ "BedrockModelArn": { "base": null, "refs": { + "ExternalSourcesRetrieveAndGenerateConfiguration$modelArn": "

The modelArn used with the external source wrapper object in the retrieveAndGenerate function.

", "KnowledgeBaseRetrieveAndGenerateConfiguration$modelArn": "

The ARN of the foundation model used to generate a response.

" } }, @@ -127,6 +128,18 @@ "PreProcessingParsedResponse$isValid": "

Whether the user input is valid or not. If false, the agent doesn't proceed to orchestration.

" } }, + "ByteContentBlob": { + "base": null, + "refs": { + "ByteContentDoc$data": "

The byte value of the file to upload, encoded as a Base-64 string.

" + } + }, + "ByteContentDoc": { + "base": "

This property contains the document to chat with, along with its attributes.

", + "refs": { + "ExternalSource$byteContent": "

The identifier, contentType, and data of the external source wrapper object.

" + } + }, "Citation": { "base": "

An object containing a segment of the generated response that is based on a source in the knowledge base, alongside information about the source.

This data type is used in the following API operations:

", "refs": { @@ -158,6 +171,12 @@ "RequestBody$content": "

The content in the request body.

" } }, + "ContentType": { + "base": null, + "refs": { + "ByteContentDoc$contentType": "

The MIME type of the document contained in the wrapper object.

" + } + }, "CreationMode": { "base": null, "refs": { @@ -177,6 +196,36 @@ "KnowledgeBaseRetrievalResult$score": "

The level of relevance of the result to the query.

" } }, + "ExternalSource": { + "base": "

The unique external source of the content contained in the wrapper object.

", + "refs": { + "ExternalSources$member": null + } + }, + "ExternalSourceType": { + "base": null, + "refs": { + "ExternalSource$sourceType": "

The source type of the external source wrapper object.

" + } + }, + "ExternalSources": { + "base": null, + "refs": { + "ExternalSourcesRetrieveAndGenerateConfiguration$sources": "

The document used with the external source wrapper object in the retrieveAndGenerate function.

" + } + }, + "ExternalSourcesGenerationConfiguration": { + "base": "

Contains the generation configuration of the external source wrapper object.

", + "refs": { + "ExternalSourcesRetrieveAndGenerateConfiguration$generationConfiguration": "

The prompt used with the external source wrapper object with the retrieveAndGenerate function.

" + } + }, + "ExternalSourcesRetrieveAndGenerateConfiguration": { + "base": "

The configurations of the external source wrapper object in the retrieveAndGenerate function.

", + "refs": { + "RetrieveAndGenerateConfiguration$externalSourcesConfiguration": "

The configuration used with the external source wrapper object in the retrieveAndGenerate function.

" + } + }, "FailureReasonString": { "base": null, "refs": { @@ -269,6 +318,12 @@ "KnowledgeBaseRetrieveAndGenerateConfiguration$generationConfiguration": "

Contains configurations for response generation based on the knowwledge base query results.

" } }, + "Identifier": { + "base": null, + "refs": { + "ByteContentDoc$identifier": "

The file name of the document contained in the wrapper object.

" + } + }, "InferenceConfiguration": { "base": "

Specifications about the inference parameters that were provided alongside the prompt. These are specified in the PromptOverrideConfiguration object that was set when the agent was created or updated. For more information, see Inference parameters for foundation models.

", "refs": { @@ -557,6 +612,7 @@ "PromptTemplate": { "base": "

Contains the template for the prompt that's sent to the model for response generation. For more information, see Knowledge base prompt templates.

This data type is used in the following API operations:

", "refs": { + "ExternalSourcesGenerationConfiguration$promptTemplate": "

Contain the textPromptTemplate string for the external source wrapper object.

", "GenerationConfiguration$promptTemplate": "

Contains the template for the prompt that's sent to the model for response generation.

" } }, @@ -769,6 +825,18 @@ "ResponseStream$returnControl": "

Contains the parameters and information that the agent elicited from the customer to carry out an action. This information is returned to the system and can be used in your own setup for fulfilling the action.

" } }, + "S3ObjectDoc": { + "base": "

The unique wrapper object of the document from the S3 location.

", + "refs": { + "ExternalSource$s3Location": "

The S3 location of the external source wrapper object.

" + } + }, + "S3Uri": { + "base": null, + "refs": { + "S3ObjectDoc$uri": "

The file location of the S3 wrapper object.

" + } + }, "SearchType": { "base": null, "refs": { diff --git a/models/apis/bedrock-agent/2023-06-05/api-2.json b/models/apis/bedrock-agent/2023-06-05/api-2.json index 6356fe25cd2..056b61a1a72 100644 --- a/models/apis/bedrock-agent/2023-06-05/api-2.json +++ b/models/apis/bedrock-agent/2023-06-05/api-2.json @@ -1155,6 +1155,12 @@ "type":"boolean", "box":true }, + "BucketOwnerAccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^[0-9]{12}$" + }, "ChunkingConfiguration":{ "type":"structure", "required":["chunkingStrategy"], @@ -1298,6 +1304,7 @@ "shape":"ClientToken", "idempotencyToken":true }, + "dataDeletionPolicy":{"shape":"DataDeletionPolicy"}, "dataSourceConfiguration":{"shape":"DataSourceConfiguration"}, "description":{"shape":"Description"}, "knowledgeBaseId":{ @@ -1356,6 +1363,13 @@ "type":"string", "enum":["RETURN_CONTROL"] }, + "DataDeletionPolicy":{ + "type":"string", + "enum":[ + "RETAIN", + "DELETE" + ] + }, "DataSource":{ "type":"structure", "required":[ @@ -1369,9 +1383,11 @@ ], "members":{ "createdAt":{"shape":"DateTimestamp"}, + "dataDeletionPolicy":{"shape":"DataDeletionPolicy"}, "dataSourceConfiguration":{"shape":"DataSourceConfiguration"}, "dataSourceId":{"shape":"Id"}, "description":{"shape":"Description"}, + "failureReasons":{"shape":"FailureReasons"}, "knowledgeBaseId":{"shape":"Id"}, "name":{"shape":"Name"}, "serverSideEncryptionConfiguration":{"shape":"ServerSideEncryptionConfiguration"}, @@ -1392,7 +1408,8 @@ "type":"string", "enum":[ "AVAILABLE", - "DELETING" + "DELETING", + "DELETE_UNSUCCESSFUL" ] }, "DataSourceSummaries":{ @@ -2146,7 +2163,8 @@ "ACTIVE", "DELETING", "UPDATING", - "FAILED" + "FAILED", + "DELETE_UNSUCCESSFUL" ] }, "KnowledgeBaseStorageType":{ @@ -2717,6 +2735,7 @@ "required":["bucketArn"], "members":{ "bucketArn":{"shape":"S3BucketArn"}, + "bucketOwnerAccountId":{"shape":"BucketOwnerAccountId"}, "inclusionPrefixes":{"shape":"S3Prefixes"} } }, @@ -3083,6 +3102,7 @@ "name" ], "members":{ + "dataDeletionPolicy":{"shape":"DataDeletionPolicy"}, "dataSourceConfiguration":{"shape":"DataSourceConfiguration"}, "dataSourceId":{ "shape":"Id", diff --git a/models/apis/bedrock-agent/2023-06-05/docs-2.json b/models/apis/bedrock-agent/2023-06-05/docs-2.json index 4ca213995d5..890d3bee574 100644 --- a/models/apis/bedrock-agent/2023-06-05/docs-2.json +++ b/models/apis/bedrock-agent/2023-06-05/docs-2.json @@ -292,6 +292,12 @@ "ParameterDetail$required": "

Whether the parameter is required for the agent to complete the function for action group invocation.

" } }, + "BucketOwnerAccountId": { + "base": null, + "refs": { + "S3DataSourceConfiguration$bucketOwnerAccountId": "

The account ID for the owner of the S3 bucket.

" + } + }, "ChunkingConfiguration": { "base": "

Details about how to chunk the documents in the data source. A chunk refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.

", "refs": { @@ -395,6 +401,14 @@ "ActionGroupExecutor$customControl": "

To return the action group invocation results directly in the InvokeAgent response, specify RETURN_CONTROL.

" } }, + "DataDeletionPolicy": { + "base": null, + "refs": { + "CreateDataSourceRequest$dataDeletionPolicy": "

The deletion policy for the requested data source

", + "DataSource$dataDeletionPolicy": "

The deletion policy for the data source.

", + "UpdateDataSourceRequest$dataDeletionPolicy": "

The data deletion policy of the updated data source.

" + } + }, "DataSource": { "base": "

Contains details about a data source.

", "refs": { @@ -600,6 +614,7 @@ "refs": { "Agent$failureReasons": "

Contains reasons that the agent-related API that you invoked failed.

", "AgentVersion$failureReasons": "

A list of reasons that the API operation on the version failed.

", + "DataSource$failureReasons": "

The details of the failure reasons related to the data source.

", "IngestionJob$failureReasons": "

A list of reasons that the ingestion job failed.

", "KnowledgeBase$failureReasons": "

A list of reasons that the API operation on the knowledge base failed.

" } diff --git a/models/apis/bedrock-runtime/2023-09-30/api-2.json b/models/apis/bedrock-runtime/2023-09-30/api-2.json index 0a4ce76e10f..4589f21dd8c 100644 --- a/models/apis/bedrock-runtime/2023-09-30/api-2.json +++ b/models/apis/bedrock-runtime/2023-09-30/api-2.json @@ -74,6 +74,16 @@ "min":0, "sensitive":true }, + "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]+))" + }, + "GuardrailVersion":{ + "type":"string", + "pattern":"(([1-9][0-9]{0,7})|(DRAFT))" + }, "InternalServerException":{ "type":"structure", "members":{ @@ -111,6 +121,21 @@ "shape":"InvokeModelIdentifier", "location":"uri", "locationName":"modelId" + }, + "trace":{ + "shape":"Trace", + "location":"header", + "locationName":"X-Amzn-Bedrock-Trace" + }, + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"header", + "locationName":"X-Amzn-Bedrock-GuardrailIdentifier" + }, + "guardrailVersion":{ + "shape":"GuardrailVersion", + "location":"header", + "locationName":"X-Amzn-Bedrock-GuardrailVersion" } }, "payload":"body" @@ -153,6 +178,21 @@ "shape":"InvokeModelIdentifier", "location":"uri", "locationName":"modelId" + }, + "trace":{ + "shape":"Trace", + "location":"header", + "locationName":"X-Amzn-Bedrock-Trace" + }, + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"header", + "locationName":"X-Amzn-Bedrock-GuardrailIdentifier" + }, + "guardrailVersion":{ + "shape":"GuardrailVersion", + "location":"header", + "locationName":"X-Amzn-Bedrock-GuardrailVersion" } }, "payload":"body" @@ -291,6 +331,13 @@ }, "exception":true }, + "Trace":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/bedrock-runtime/2023-09-30/docs-2.json b/models/apis/bedrock-runtime/2023-09-30/docs-2.json index e08dde4158d..94a359fb856 100644 --- a/models/apis/bedrock-runtime/2023-09-30/docs-2.json +++ b/models/apis/bedrock-runtime/2023-09-30/docs-2.json @@ -1,9 +1,9 @@ { "version": "2.0", - "service": "

Describes the API operations for running inference using Bedrock models.

", + "service": "

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

", "operations": { - "InvokeModel": "

Invokes the specified Bedrock model to run inference using the input provided in the request body. You use InvokeModel to run inference for text models, image models, and embedding models.

For more information, see Run inference in the Bedrock User Guide.

For example requests, see Examples (after the Errors section).

", - "InvokeModelWithResponseStream": "

Invoke the specified Bedrock model to run inference using the input provided. Return the response in a stream.

For more information, see Run inference in the Bedrock User Guide.

For an example request and response, see Examples (after the Errors section).

" + "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.

" }, "shapes": { "AccessDeniedException": { @@ -14,22 +14,36 @@ "Body": { "base": null, "refs": { - "InvokeModelRequest$body": "

Input data in the format specified in the content-type request header. To see the format and content of this field for different models, refer to Inference parameters.

", - "InvokeModelResponse$body": "

Inference response from the model in the format specified in the content-type header field. To see the format and content of this field for different models, refer to Inference parameters.

", - "InvokeModelWithResponseStreamRequest$body": "

Inference input in the format specified by the content-type. To see the format and content of this field for different models, refer to Inference parameters.

" + "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.

", + "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.

" + } + }, + "GuardrailIdentifier": { + "base": null, + "refs": { + "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.

" + } + }, + "GuardrailVersion": { + "base": null, + "refs": { + "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.

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

An internal server error occurred. Retry your request.

", "refs": { - "ResponseStream$internalServerException": null + "ResponseStream$internalServerException": "

An internal server error occurred. Retry your request.

" } }, "InvokeModelIdentifier": { "base": null, "refs": { - "InvokeModelRequest$modelId": "

Identifier of the model.

", - "InvokeModelWithResponseStreamRequest$modelId": "

Id of the model to invoke using the streaming request.

" + "InvokeModelRequest$modelId": "

The unique identifier of the model to invoke to run inference.

The modelId to provide depends on the type of model that you use:

", + "InvokeModelWithResponseStreamRequest$modelId": "

The unique identifier of the model to invoke to run inference.

The modelId to provide depends on the type of model that you use:

" } }, "InvokeModelRequest": { @@ -74,15 +88,15 @@ } }, "ModelStreamErrorException": { - "base": "

An error occurred while streaming the response.

", + "base": "

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

", "refs": { - "ResponseStream$modelStreamErrorException": null + "ResponseStream$modelStreamErrorException": "

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

" } }, "ModelTimeoutException": { "base": "

The request took too long to process. Processing time exceeded the model timeout length.

", "refs": { - "ResponseStream$modelTimeoutException": null + "ResponseStream$modelTimeoutException": "

The request took too long to process. Processing time exceeded the model timeout length.

" } }, "NonBlankString": { @@ -122,7 +136,7 @@ "ResponseStream": { "base": "

Definition of content in the response stream.

", "refs": { - "InvokeModelWithResponseStreamResponse$body": "

Inference response from the model in the format specified by Content-Type. To see the format and content of this field for different models, refer to Inference parameters.

" + "InvokeModelWithResponseStreamResponse$body": "

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

" } }, "ServiceQuotaExceededException": { @@ -140,13 +154,20 @@ "ThrottlingException": { "base": "

The number of requests exceeds the limit. Resubmit your request later.

", "refs": { - "ResponseStream$throttlingException": null + "ResponseStream$throttlingException": "

The number or frequency of requests exceeds the limit. Resubmit your request later.

" + } + }, + "Trace": { + "base": null, + "refs": { + "InvokeModelRequest$trace": "

Specifies whether to enable or disable the Bedrock trace. If enabled, you can see the full Bedrock trace.

", + "InvokeModelWithResponseStreamRequest$trace": "

Specifies whether to enable or disable the Bedrock trace. If enabled, you can see the full Bedrock trace.

" } }, "ValidationException": { "base": "

Input validation failed. Check your request parameters and retry the request.

", "refs": { - "ResponseStream$validationException": null + "ResponseStream$validationException": "

Input validation failed. Check your request parameters and retry the request.

" } } } diff --git a/models/apis/bedrock/2023-04-20/api-2.json b/models/apis/bedrock/2023-04-20/api-2.json index ac3c56afba7..e700d8d5caf 100644 --- a/models/apis/bedrock/2023-04-20/api-2.json +++ b/models/apis/bedrock/2023-04-20/api-2.json @@ -12,6 +12,65 @@ "uid":"bedrock-2023-04-20" }, "operations":{ + "CreateEvaluationJob":{ + "name":"CreateEvaluationJob", + "http":{ + "method":"POST", + "requestUri":"/evaluation-jobs", + "responseCode":202 + }, + "input":{"shape":"CreateEvaluationJobRequest"}, + "output":{"shape":"CreateEvaluationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, + "CreateGuardrail":{ + "name":"CreateGuardrail", + "http":{ + "method":"POST", + "requestUri":"/guardrails", + "responseCode":202 + }, + "input":{"shape":"CreateGuardrailRequest"}, + "output":{"shape":"CreateGuardrailResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, + "CreateGuardrailVersion":{ + "name":"CreateGuardrailVersion", + "http":{ + "method":"POST", + "requestUri":"/guardrails/{guardrailIdentifier}", + "responseCode":202 + }, + "input":{"shape":"CreateGuardrailVersionRequest"}, + "output":{"shape":"CreateGuardrailVersionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ] + }, "CreateModelCustomizationJob":{ "name":"CreateModelCustomizationJob", "http":{ @@ -72,6 +131,25 @@ ], "idempotent":true }, + "DeleteGuardrail":{ + "name":"DeleteGuardrail", + "http":{ + "method":"DELETE", + "requestUri":"/guardrails/{guardrailIdentifier}", + "responseCode":202 + }, + "input":{"shape":"DeleteGuardrailRequest"}, + "output":{"shape":"DeleteGuardrailResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, "DeleteModelInvocationLoggingConfiguration":{ "name":"DeleteModelInvocationLoggingConfiguration", "http":{ @@ -124,6 +202,23 @@ {"shape":"ThrottlingException"} ] }, + "GetEvaluationJob":{ + "name":"GetEvaluationJob", + "http":{ + "method":"GET", + "requestUri":"/evaluation-jobs/{jobIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetEvaluationJobRequest"}, + "output":{"shape":"GetEvaluationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, "GetFoundationModel":{ "name":"GetFoundationModel", "http":{ @@ -141,6 +236,23 @@ {"shape":"ThrottlingException"} ] }, + "GetGuardrail":{ + "name":"GetGuardrail", + "http":{ + "method":"GET", + "requestUri":"/guardrails/{guardrailIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetGuardrailRequest"}, + "output":{"shape":"GetGuardrailResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, "GetModelCustomizationJob":{ "name":"GetModelCustomizationJob", "http":{ @@ -206,6 +318,22 @@ {"shape":"ThrottlingException"} ] }, + "ListEvaluationJobs":{ + "name":"ListEvaluationJobs", + "http":{ + "method":"GET", + "requestUri":"/evaluation-jobs", + "responseCode":200 + }, + "input":{"shape":"ListEvaluationJobsRequest"}, + "output":{"shape":"ListEvaluationJobsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, "ListFoundationModels":{ "name":"ListFoundationModels", "http":{ @@ -222,6 +350,23 @@ {"shape":"ThrottlingException"} ] }, + "ListGuardrails":{ + "name":"ListGuardrails", + "http":{ + "method":"GET", + "requestUri":"/guardrails", + "responseCode":200 + }, + "input":{"shape":"ListGuardrailsRequest"}, + "output":{"shape":"ListGuardrailsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, "ListModelCustomizationJobs":{ "name":"ListModelCustomizationJobs", "http":{ @@ -288,6 +433,24 @@ ], "idempotent":true }, + "StopEvaluationJob":{ + "name":"StopEvaluationJob", + "http":{ + "method":"POST", + "requestUri":"/evaluation-job/{jobIdentifier}/stop", + "responseCode":200 + }, + "input":{"shape":"StopEvaluationJobRequest"}, + "output":{"shape":"StopEvaluationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ] + }, "StopModelCustomizationJob":{ "name":"StopModelCustomizationJob", "http":{ @@ -342,6 +505,26 @@ {"shape":"ThrottlingException"} ] }, + "UpdateGuardrail":{ + "name":"UpdateGuardrail", + "http":{ + "method":"PUT", + "requestUri":"/guardrails/{guardrailIdentifier}", + "responseCode":202 + }, + "input":{"shape":"UpdateGuardrailRequest"}, + "output":{"shape":"UpdateGuardrailResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"} + ], + "idempotent":true + }, "UpdateProvisionedModelThroughput":{ "name":"UpdateProvisionedModelThroughput", "http":{ @@ -373,6 +556,13 @@ }, "exception":true }, + "AutomatedEvaluationConfig":{ + "type":"structure", + "required":["datasetMetricConfigs"], + "members":{ + "datasetMetricConfigs":{"shape":"EvaluationDatasetMetricConfigs"} + } + }, "BaseModelIdentifier":{ "type":"string", "max":2048, @@ -430,6 +620,103 @@ }, "exception":true }, + "CreateEvaluationJobRequest":{ + "type":"structure", + "required":[ + "jobName", + "roleArn", + "evaluationConfig", + "inferenceConfig", + "outputDataConfig" + ], + "members":{ + "jobName":{"shape":"EvaluationJobName"}, + "jobDescription":{"shape":"EvaluationJobDescription"}, + "clientRequestToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + }, + "roleArn":{"shape":"RoleArn"}, + "customerEncryptionKeyId":{"shape":"KmsKeyId"}, + "jobTags":{"shape":"TagList"}, + "evaluationConfig":{"shape":"EvaluationConfig"}, + "inferenceConfig":{"shape":"EvaluationInferenceConfig"}, + "outputDataConfig":{"shape":"EvaluationOutputDataConfig"} + } + }, + "CreateEvaluationJobResponse":{ + "type":"structure", + "required":["jobArn"], + "members":{ + "jobArn":{"shape":"EvaluationJobArn"} + } + }, + "CreateGuardrailRequest":{ + "type":"structure", + "required":[ + "name", + "blockedInputMessaging", + "blockedOutputsMessaging" + ], + "members":{ + "name":{"shape":"GuardrailName"}, + "description":{"shape":"GuardrailDescription"}, + "topicPolicyConfig":{"shape":"GuardrailTopicPolicyConfig"}, + "contentPolicyConfig":{"shape":"GuardrailContentPolicyConfig"}, + "wordPolicyConfig":{"shape":"GuardrailWordPolicyConfig"}, + "sensitiveInformationPolicyConfig":{"shape":"GuardrailSensitiveInformationPolicyConfig"}, + "blockedInputMessaging":{"shape":"GuardrailBlockedMessaging"}, + "blockedOutputsMessaging":{"shape":"GuardrailBlockedMessaging"}, + "kmsKeyId":{"shape":"KmsKeyId"}, + "tags":{"shape":"TagList"}, + "clientRequestToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateGuardrailResponse":{ + "type":"structure", + "required":[ + "guardrailId", + "guardrailArn", + "version", + "createdAt" + ], + "members":{ + "guardrailId":{"shape":"GuardrailId"}, + "guardrailArn":{"shape":"GuardrailArn"}, + "version":{"shape":"GuardrailDraftVersion"}, + "createdAt":{"shape":"Timestamp"} + } + }, + "CreateGuardrailVersionRequest":{ + "type":"structure", + "required":["guardrailIdentifier"], + "members":{ + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"uri", + "locationName":"guardrailIdentifier" + }, + "description":{"shape":"GuardrailDescription"}, + "clientRequestToken":{ + "shape":"IdempotencyToken", + "idempotencyToken":true + } + } + }, + "CreateGuardrailVersionResponse":{ + "type":"structure", + "required":[ + "guardrailId", + "version" + ], + "members":{ + "guardrailId":{"shape":"GuardrailId"}, + "version":{"shape":"GuardrailNumericalVersion"} + } + }, "CreateModelCustomizationJobRequest":{ "type":"structure", "required":[ @@ -551,6 +838,27 @@ "members":{ } }, + "DeleteGuardrailRequest":{ + "type":"structure", + "required":["guardrailIdentifier"], + "members":{ + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"uri", + "locationName":"guardrailIdentifier" + }, + "guardrailVersion":{ + "shape":"GuardrailNumericalVersion", + "location":"querystring", + "locationName":"guardrailVersion" + } + } + }, + "DeleteGuardrailResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteModelInvocationLoggingConfigurationRequest":{ "type":"structure", "members":{ @@ -582,73 +890,299 @@ "max":2048, "min":0 }, - "FineTuningJobStatus":{ - "type":"string", - "enum":[ - "InProgress", - "Completed", - "Failed", - "Stopping", - "Stopped" - ] - }, - "FoundationModelArn":{ - "type":"string", - "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}" + "ErrorMessages":{ + "type":"list", + "member":{"shape":"ErrorMessage"}, + "max":20, + "min":0 }, - "FoundationModelDetails":{ + "EvaluationBedrockModel":{ "type":"structure", "required":[ - "modelArn", - "modelId" + "modelIdentifier", + "inferenceParams" ], "members":{ - "modelArn":{"shape":"FoundationModelArn"}, - "modelId":{"shape":"BedrockModelId"}, - "modelName":{"shape":"BrandedName"}, - "providerName":{"shape":"BrandedName"}, - "inputModalities":{"shape":"ModelModalityList"}, - "outputModalities":{"shape":"ModelModalityList"}, - "responseStreamingSupported":{"shape":"Boolean"}, - "customizationsSupported":{"shape":"ModelCustomizationList"}, - "inferenceTypesSupported":{"shape":"InferenceTypeList"}, - "modelLifecycle":{"shape":"FoundationModelLifecycle"} + "modelIdentifier":{"shape":"EvaluationModelIdentifier"}, + "inferenceParams":{"shape":"EvaluationModelInferenceParams"} } }, - "FoundationModelLifecycle":{ + "EvaluationConfig":{ "type":"structure", - "required":["status"], "members":{ - "status":{"shape":"FoundationModelLifecycleStatus"} + "automated":{"shape":"AutomatedEvaluationConfig"}, + "human":{"shape":"HumanEvaluationConfig"} + }, + "union":true + }, + "EvaluationDataset":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"EvaluationDatasetName"}, + "datasetLocation":{"shape":"EvaluationDatasetLocation"} } }, - "FoundationModelLifecycleStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "LEGACY" - ] + "EvaluationDatasetLocation":{ + "type":"structure", + "members":{ + "s3Uri":{"shape":"S3Uri"} + }, + "union":true }, - "FoundationModelSummary":{ + "EvaluationDatasetMetricConfig":{ "type":"structure", "required":[ - "modelArn", - "modelId" + "taskType", + "dataset", + "metricNames" ], "members":{ - "modelArn":{"shape":"FoundationModelArn"}, - "modelId":{"shape":"BedrockModelId"}, - "modelName":{"shape":"BrandedName"}, - "providerName":{"shape":"BrandedName"}, - "inputModalities":{"shape":"ModelModalityList"}, - "outputModalities":{"shape":"ModelModalityList"}, - "responseStreamingSupported":{"shape":"Boolean"}, - "customizationsSupported":{"shape":"ModelCustomizationList"}, - "inferenceTypesSupported":{"shape":"InferenceTypeList"}, - "modelLifecycle":{"shape":"FoundationModelLifecycle"} + "taskType":{"shape":"EvaluationTaskType"}, + "dataset":{"shape":"EvaluationDataset"}, + "metricNames":{"shape":"EvaluationMetricNames"} } }, - "FoundationModelSummaryList":{ + "EvaluationDatasetMetricConfigs":{ + "type":"list", + "member":{"shape":"EvaluationDatasetMetricConfig"}, + "max":5, + "min":1 + }, + "EvaluationDatasetName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[0-9a-zA-Z-_.]+", + "sensitive":true + }, + "EvaluationInferenceConfig":{ + "type":"structure", + "members":{ + "models":{"shape":"EvaluationModelConfigs"} + }, + "union":true + }, + "EvaluationJobArn":{ + "type":"string", + "max":1011, + "min":0, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:evaluation-job/[a-z0-9]{12}" + }, + "EvaluationJobDescription":{ + "type":"string", + "max":200, + "min":1, + "pattern":".+", + "sensitive":true + }, + "EvaluationJobIdentifier":{ + "type":"string", + "max":1011, + "min":0, + "pattern":"(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:evaluation-job/[a-z0-9]{12})", + "sensitive":true + }, + "EvaluationJobName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[a-z0-9](-*[a-z0-9]){0,62}" + }, + "EvaluationJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "EvaluationJobType":{ + "type":"string", + "enum":[ + "Human", + "Automated" + ] + }, + "EvaluationMetricDescription":{ + "type":"string", + "max":63, + "min":1, + "pattern":".+", + "sensitive":true + }, + "EvaluationMetricName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[0-9a-zA-Z-_.]+", + "sensitive":true + }, + "EvaluationMetricNames":{ + "type":"list", + "member":{"shape":"EvaluationMetricName"}, + "max":10, + "min":1 + }, + "EvaluationModelConfig":{ + "type":"structure", + "members":{ + "bedrockModel":{"shape":"EvaluationBedrockModel"} + }, + "union":true + }, + "EvaluationModelConfigs":{ + "type":"list", + "member":{"shape":"EvaluationModelConfig"}, + "max":2, + "min":1 + }, + "EvaluationModelIdentifier":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}(([:][a-z0-9-]{1,63}){0,2})?/[a-z0-9]{12})|(:foundation-model/([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2})))|(([a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([.]?[a-z0-9-]{1,63})([:][a-z0-9-]{1,63}){0,2}))|(([0-9a-zA-Z][_-]?)+)" + }, + "EvaluationModelIdentifiers":{ + "type":"list", + "member":{"shape":"EvaluationModelIdentifier"}, + "max":2, + "min":1 + }, + "EvaluationModelInferenceParams":{ + "type":"string", + "max":1023, + "min":1, + "sensitive":true + }, + "EvaluationOutputDataConfig":{ + "type":"structure", + "required":["s3Uri"], + "members":{ + "s3Uri":{"shape":"S3Uri"} + } + }, + "EvaluationRatingMethod":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[0-9a-zA-Z-_]+" + }, + "EvaluationSummaries":{ + "type":"list", + "member":{"shape":"EvaluationSummary"}, + "max":5, + "min":1 + }, + "EvaluationSummary":{ + "type":"structure", + "required":[ + "jobArn", + "jobName", + "status", + "creationTime", + "jobType", + "evaluationTaskTypes", + "modelIdentifiers" + ], + "members":{ + "jobArn":{"shape":"EvaluationJobArn"}, + "jobName":{"shape":"EvaluationJobName"}, + "status":{"shape":"EvaluationJobStatus"}, + "creationTime":{"shape":"Timestamp"}, + "jobType":{"shape":"EvaluationJobType"}, + "evaluationTaskTypes":{"shape":"EvaluationTaskTypes"}, + "modelIdentifiers":{"shape":"EvaluationModelIdentifiers"} + } + }, + "EvaluationTaskType":{ + "type":"string", + "enum":[ + "Summarization", + "Classification", + "QuestionAndAnswer", + "Generation", + "Custom" + ], + "max":63, + "min":1, + "pattern":"[A-Za-z0-9]+" + }, + "EvaluationTaskTypes":{ + "type":"list", + "member":{"shape":"EvaluationTaskType"}, + "max":5, + "min":1 + }, + "FineTuningJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "FoundationModelArn":{ + "type":"string", + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}::foundation-model/[a-z0-9-]{1,63}[.]{1}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}" + }, + "FoundationModelDetails":{ + "type":"structure", + "required":[ + "modelArn", + "modelId" + ], + "members":{ + "modelArn":{"shape":"FoundationModelArn"}, + "modelId":{"shape":"BedrockModelId"}, + "modelName":{"shape":"BrandedName"}, + "providerName":{"shape":"BrandedName"}, + "inputModalities":{"shape":"ModelModalityList"}, + "outputModalities":{"shape":"ModelModalityList"}, + "responseStreamingSupported":{"shape":"Boolean"}, + "customizationsSupported":{"shape":"ModelCustomizationList"}, + "inferenceTypesSupported":{"shape":"InferenceTypeList"}, + "modelLifecycle":{"shape":"FoundationModelLifecycle"} + } + }, + "FoundationModelLifecycle":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{"shape":"FoundationModelLifecycleStatus"} + } + }, + "FoundationModelLifecycleStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "LEGACY" + ] + }, + "FoundationModelSummary":{ + "type":"structure", + "required":[ + "modelArn", + "modelId" + ], + "members":{ + "modelArn":{"shape":"FoundationModelArn"}, + "modelId":{"shape":"BedrockModelId"}, + "modelName":{"shape":"BrandedName"}, + "providerName":{"shape":"BrandedName"}, + "inputModalities":{"shape":"ModelModalityList"}, + "outputModalities":{"shape":"ModelModalityList"}, + "responseStreamingSupported":{"shape":"Boolean"}, + "customizationsSupported":{"shape":"ModelCustomizationList"}, + "inferenceTypesSupported":{"shape":"InferenceTypeList"}, + "modelLifecycle":{"shape":"FoundationModelLifecycle"} + } + }, + "FoundationModelSummaryList":{ "type":"list", "member":{"shape":"FoundationModelSummary"} }, @@ -656,157 +1190,788 @@ "type":"structure", "required":["modelIdentifier"], "members":{ - "modelIdentifier":{ - "shape":"ModelIdentifier", - "location":"uri", - "locationName":"modelIdentifier" - } + "modelIdentifier":{ + "shape":"ModelIdentifier", + "location":"uri", + "locationName":"modelIdentifier" + } + } + }, + "GetCustomModelResponse":{ + "type":"structure", + "required":[ + "modelArn", + "modelName", + "jobArn", + "baseModelArn", + "trainingDataConfig", + "outputDataConfig", + "creationTime" + ], + "members":{ + "modelArn":{"shape":"ModelArn"}, + "modelName":{"shape":"CustomModelName"}, + "jobName":{"shape":"JobName"}, + "jobArn":{"shape":"ModelCustomizationJobArn"}, + "baseModelArn":{"shape":"ModelArn"}, + "customizationType":{"shape":"CustomizationType"}, + "modelKmsKeyArn":{"shape":"KmsKeyArn"}, + "hyperParameters":{"shape":"ModelCustomizationHyperParameters"}, + "trainingDataConfig":{"shape":"TrainingDataConfig"}, + "validationDataConfig":{"shape":"ValidationDataConfig"}, + "outputDataConfig":{"shape":"OutputDataConfig"}, + "trainingMetrics":{"shape":"TrainingMetrics"}, + "validationMetrics":{"shape":"ValidationMetrics"}, + "creationTime":{"shape":"Timestamp"} + } + }, + "GetEvaluationJobRequest":{ + "type":"structure", + "required":["jobIdentifier"], + "members":{ + "jobIdentifier":{ + "shape":"EvaluationJobIdentifier", + "location":"uri", + "locationName":"jobIdentifier" + } + } + }, + "GetEvaluationJobResponse":{ + "type":"structure", + "required":[ + "jobName", + "status", + "jobArn", + "roleArn", + "jobType", + "evaluationConfig", + "inferenceConfig", + "outputDataConfig", + "creationTime" + ], + "members":{ + "jobName":{"shape":"EvaluationJobName"}, + "status":{"shape":"EvaluationJobStatus"}, + "jobArn":{"shape":"EvaluationJobArn"}, + "jobDescription":{"shape":"EvaluationJobDescription"}, + "roleArn":{"shape":"RoleArn"}, + "customerEncryptionKeyId":{"shape":"KmsKeyId"}, + "jobType":{"shape":"EvaluationJobType"}, + "evaluationConfig":{"shape":"EvaluationConfig"}, + "inferenceConfig":{"shape":"EvaluationInferenceConfig"}, + "outputDataConfig":{"shape":"EvaluationOutputDataConfig"}, + "creationTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "failureMessages":{"shape":"ErrorMessages"} + } + }, + "GetFoundationModelRequest":{ + "type":"structure", + "required":["modelIdentifier"], + "members":{ + "modelIdentifier":{ + "shape":"ModelIdentifier", + "location":"uri", + "locationName":"modelIdentifier" + } + } + }, + "GetFoundationModelResponse":{ + "type":"structure", + "members":{ + "modelDetails":{"shape":"FoundationModelDetails"} + } + }, + "GetGuardrailRequest":{ + "type":"structure", + "required":["guardrailIdentifier"], + "members":{ + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"uri", + "locationName":"guardrailIdentifier" + }, + "guardrailVersion":{ + "shape":"GuardrailVersion", + "location":"querystring", + "locationName":"guardrailVersion" + } + } + }, + "GetGuardrailResponse":{ + "type":"structure", + "required":[ + "name", + "guardrailId", + "guardrailArn", + "version", + "status", + "createdAt", + "updatedAt", + "blockedInputMessaging", + "blockedOutputsMessaging" + ], + "members":{ + "name":{"shape":"GuardrailName"}, + "description":{"shape":"GuardrailDescription"}, + "guardrailId":{"shape":"GuardrailId"}, + "guardrailArn":{"shape":"GuardrailArn"}, + "version":{"shape":"GuardrailVersion"}, + "status":{"shape":"GuardrailStatus"}, + "topicPolicy":{"shape":"GuardrailTopicPolicy"}, + "contentPolicy":{"shape":"GuardrailContentPolicy"}, + "wordPolicy":{"shape":"GuardrailWordPolicy"}, + "sensitiveInformationPolicy":{"shape":"GuardrailSensitiveInformationPolicy"}, + "createdAt":{"shape":"Timestamp"}, + "updatedAt":{"shape":"Timestamp"}, + "statusReasons":{"shape":"GuardrailStatusReasons"}, + "failureRecommendations":{"shape":"GuardrailFailureRecommendations"}, + "blockedInputMessaging":{"shape":"GuardrailBlockedMessaging"}, + "blockedOutputsMessaging":{"shape":"GuardrailBlockedMessaging"}, + "kmsKeyArn":{"shape":"KmsKeyArn"} + } + }, + "GetModelCustomizationJobRequest":{ + "type":"structure", + "required":["jobIdentifier"], + "members":{ + "jobIdentifier":{ + "shape":"ModelCustomizationJobIdentifier", + "location":"uri", + "locationName":"jobIdentifier" + } + } + }, + "GetModelCustomizationJobResponse":{ + "type":"structure", + "required":[ + "jobArn", + "jobName", + "outputModelName", + "roleArn", + "creationTime", + "baseModelArn", + "hyperParameters", + "trainingDataConfig", + "validationDataConfig", + "outputDataConfig" + ], + "members":{ + "jobArn":{"shape":"ModelCustomizationJobArn"}, + "jobName":{"shape":"JobName"}, + "outputModelName":{"shape":"CustomModelName"}, + "outputModelArn":{"shape":"CustomModelArn"}, + "clientRequestToken":{"shape":"IdempotencyToken"}, + "roleArn":{"shape":"RoleArn"}, + "status":{"shape":"ModelCustomizationJobStatus"}, + "failureMessage":{"shape":"ErrorMessage"}, + "creationTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "baseModelArn":{"shape":"FoundationModelArn"}, + "hyperParameters":{"shape":"ModelCustomizationHyperParameters"}, + "trainingDataConfig":{"shape":"TrainingDataConfig"}, + "validationDataConfig":{"shape":"ValidationDataConfig"}, + "outputDataConfig":{"shape":"OutputDataConfig"}, + "customizationType":{"shape":"CustomizationType"}, + "outputModelKmsKeyArn":{"shape":"KmsKeyArn"}, + "trainingMetrics":{"shape":"TrainingMetrics"}, + "validationMetrics":{"shape":"ValidationMetrics"}, + "vpcConfig":{"shape":"VpcConfig"} + } + }, + "GetModelInvocationLoggingConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "GetModelInvocationLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "loggingConfig":{"shape":"LoggingConfig"} + } + }, + "GetProvisionedModelThroughputRequest":{ + "type":"structure", + "required":["provisionedModelId"], + "members":{ + "provisionedModelId":{ + "shape":"ProvisionedModelId", + "location":"uri", + "locationName":"provisionedModelId" + } + } + }, + "GetProvisionedModelThroughputResponse":{ + "type":"structure", + "required":[ + "modelUnits", + "desiredModelUnits", + "provisionedModelName", + "provisionedModelArn", + "modelArn", + "desiredModelArn", + "foundationModelArn", + "status", + "creationTime", + "lastModifiedTime" + ], + "members":{ + "modelUnits":{"shape":"PositiveInteger"}, + "desiredModelUnits":{"shape":"PositiveInteger"}, + "provisionedModelName":{"shape":"ProvisionedModelName"}, + "provisionedModelArn":{"shape":"ProvisionedModelArn"}, + "modelArn":{"shape":"ModelArn"}, + "desiredModelArn":{"shape":"ModelArn"}, + "foundationModelArn":{"shape":"FoundationModelArn"}, + "status":{"shape":"ProvisionedModelStatus"}, + "creationTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "failureMessage":{"shape":"ErrorMessage"}, + "commitmentDuration":{"shape":"CommitmentDuration"}, + "commitmentExpirationTime":{"shape":"Timestamp"} + } + }, + "GuardrailArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:guardrail/[a-z0-9]+" + }, + "GuardrailBlockedMessaging":{ + "type":"string", + "max":500, + "min":1, + "sensitive":true + }, + "GuardrailContentFilter":{ + "type":"structure", + "required":[ + "type", + "inputStrength", + "outputStrength" + ], + "members":{ + "type":{"shape":"GuardrailContentFilterType"}, + "inputStrength":{"shape":"GuardrailFilterStrength"}, + "outputStrength":{"shape":"GuardrailFilterStrength"} + } + }, + "GuardrailContentFilterConfig":{ + "type":"structure", + "required":[ + "type", + "inputStrength", + "outputStrength" + ], + "members":{ + "type":{"shape":"GuardrailContentFilterType"}, + "inputStrength":{"shape":"GuardrailFilterStrength"}, + "outputStrength":{"shape":"GuardrailFilterStrength"} + } + }, + "GuardrailContentFilterType":{ + "type":"string", + "enum":[ + "SEXUAL", + "VIOLENCE", + "HATE", + "INSULTS", + "MISCONDUCT", + "PROMPT_ATTACK" + ] + }, + "GuardrailContentFilters":{ + "type":"list", + "member":{"shape":"GuardrailContentFilter"}, + "max":6, + "min":1 + }, + "GuardrailContentFiltersConfig":{ + "type":"list", + "member":{"shape":"GuardrailContentFilterConfig"}, + "max":6, + "min":1 + }, + "GuardrailContentPolicy":{ + "type":"structure", + "members":{ + "filters":{"shape":"GuardrailContentFilters"} + } + }, + "GuardrailContentPolicyConfig":{ + "type":"structure", + "required":["filtersConfig"], + "members":{ + "filtersConfig":{"shape":"GuardrailContentFiltersConfig"} + } + }, + "GuardrailDescription":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "GuardrailDraftVersion":{ + "type":"string", + "max":5, + "min":5, + "pattern":"DRAFT" + }, + "GuardrailFailureRecommendation":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "GuardrailFailureRecommendations":{ + "type":"list", + "member":{"shape":"GuardrailFailureRecommendation"}, + "max":100, + "min":0 + }, + "GuardrailFilterStrength":{ + "type":"string", + "enum":[ + "NONE", + "LOW", + "MEDIUM", + "HIGH" + ] + }, + "GuardrailId":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[a-z0-9]+" + }, + "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]+))" + }, + "GuardrailManagedWordLists":{ + "type":"list", + "member":{"shape":"GuardrailManagedWords"} + }, + "GuardrailManagedWordListsConfig":{ + "type":"list", + "member":{"shape":"GuardrailManagedWordsConfig"} + }, + "GuardrailManagedWords":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{"shape":"GuardrailManagedWordsType"} + } + }, + "GuardrailManagedWordsConfig":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{"shape":"GuardrailManagedWordsType"} + } + }, + "GuardrailManagedWordsType":{ + "type":"string", + "enum":["PROFANITY"] + }, + "GuardrailName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[0-9a-zA-Z-_]+", + "sensitive":true + }, + "GuardrailNumericalVersion":{ + "type":"string", + "pattern":"[1-9][0-9]{0,7}" + }, + "GuardrailPiiEntities":{ + "type":"list", + "member":{"shape":"GuardrailPiiEntity"}, + "min":1 + }, + "GuardrailPiiEntitiesConfig":{ + "type":"list", + "member":{"shape":"GuardrailPiiEntityConfig"}, + "min":1 + }, + "GuardrailPiiEntity":{ + "type":"structure", + "required":[ + "type", + "action" + ], + "members":{ + "type":{"shape":"GuardrailPiiEntityType"}, + "action":{"shape":"GuardrailSensitiveInformationAction"} + } + }, + "GuardrailPiiEntityConfig":{ + "type":"structure", + "required":[ + "type", + "action" + ], + "members":{ + "type":{"shape":"GuardrailPiiEntityType"}, + "action":{"shape":"GuardrailSensitiveInformationAction"} + } + }, + "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" + ] + }, + "GuardrailRegex":{ + "type":"structure", + "required":[ + "name", + "pattern", + "action" + ], + "members":{ + "name":{"shape":"GuardrailRegexNameString"}, + "description":{"shape":"GuardrailRegexDescriptionString"}, + "pattern":{"shape":"GuardrailRegexPatternString"}, + "action":{"shape":"GuardrailSensitiveInformationAction"} + } + }, + "GuardrailRegexConfig":{ + "type":"structure", + "required":[ + "name", + "pattern", + "action" + ], + "members":{ + "name":{"shape":"GuardrailRegexConfigNameString"}, + "description":{"shape":"GuardrailRegexConfigDescriptionString"}, + "pattern":{"shape":"GuardrailRegexConfigPatternString"}, + "action":{"shape":"GuardrailSensitiveInformationAction"} + } + }, + "GuardrailRegexConfigDescriptionString":{ + "type":"string", + "max":1000, + "min":1 + }, + "GuardrailRegexConfigNameString":{ + "type":"string", + "max":100, + "min":1 + }, + "GuardrailRegexConfigPatternString":{ + "type":"string", + "max":500, + "min":1 + }, + "GuardrailRegexDescriptionString":{ + "type":"string", + "max":1000, + "min":1 + }, + "GuardrailRegexNameString":{ + "type":"string", + "max":100, + "min":1 + }, + "GuardrailRegexPatternString":{ + "type":"string", + "max":500, + "min":1 + }, + "GuardrailRegexes":{ + "type":"list", + "member":{"shape":"GuardrailRegex"} + }, + "GuardrailRegexesConfig":{ + "type":"list", + "member":{"shape":"GuardrailRegexConfig"}, + "max":10, + "min":1 + }, + "GuardrailSensitiveInformationAction":{ + "type":"string", + "enum":[ + "BLOCK", + "ANONYMIZE" + ] + }, + "GuardrailSensitiveInformationPolicy":{ + "type":"structure", + "members":{ + "piiEntities":{"shape":"GuardrailPiiEntities"}, + "regexes":{"shape":"GuardrailRegexes"} + } + }, + "GuardrailSensitiveInformationPolicyConfig":{ + "type":"structure", + "members":{ + "piiEntitiesConfig":{"shape":"GuardrailPiiEntitiesConfig"}, + "regexesConfig":{"shape":"GuardrailRegexesConfig"} + } + }, + "GuardrailStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "VERSIONING", + "READY", + "FAILED", + "DELETING" + ] + }, + "GuardrailStatusReason":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "GuardrailStatusReasons":{ + "type":"list", + "member":{"shape":"GuardrailStatusReason"}, + "max":100, + "min":0 + }, + "GuardrailSummaries":{ + "type":"list", + "member":{"shape":"GuardrailSummary"}, + "max":1000, + "min":0 + }, + "GuardrailSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "status", + "name", + "version", + "createdAt", + "updatedAt" + ], + "members":{ + "id":{"shape":"GuardrailId"}, + "arn":{"shape":"GuardrailArn"}, + "status":{"shape":"GuardrailStatus"}, + "name":{"shape":"GuardrailName"}, + "description":{"shape":"GuardrailDescription"}, + "version":{"shape":"GuardrailVersion"}, + "createdAt":{"shape":"Timestamp"}, + "updatedAt":{"shape":"Timestamp"} + } + }, + "GuardrailTopic":{ + "type":"structure", + "required":[ + "name", + "definition" + ], + "members":{ + "name":{"shape":"GuardrailTopicName"}, + "definition":{"shape":"GuardrailTopicDefinition"}, + "examples":{"shape":"GuardrailTopicExamples"}, + "type":{"shape":"GuardrailTopicType"} } }, - "GetCustomModelResponse":{ + "GuardrailTopicConfig":{ "type":"structure", "required":[ - "modelArn", - "modelName", - "jobArn", - "baseModelArn", - "trainingDataConfig", - "outputDataConfig", - "creationTime" + "name", + "definition", + "type" ], "members":{ - "modelArn":{"shape":"ModelArn"}, - "modelName":{"shape":"CustomModelName"}, - "jobName":{"shape":"JobName"}, - "jobArn":{"shape":"ModelCustomizationJobArn"}, - "baseModelArn":{"shape":"ModelArn"}, - "customizationType":{"shape":"CustomizationType"}, - "modelKmsKeyArn":{"shape":"KmsKeyArn"}, - "hyperParameters":{"shape":"ModelCustomizationHyperParameters"}, - "trainingDataConfig":{"shape":"TrainingDataConfig"}, - "validationDataConfig":{"shape":"ValidationDataConfig"}, - "outputDataConfig":{"shape":"OutputDataConfig"}, - "trainingMetrics":{"shape":"TrainingMetrics"}, - "validationMetrics":{"shape":"ValidationMetrics"}, - "creationTime":{"shape":"Timestamp"} + "name":{"shape":"GuardrailTopicName"}, + "definition":{"shape":"GuardrailTopicDefinition"}, + "examples":{"shape":"GuardrailTopicExamples"}, + "type":{"shape":"GuardrailTopicType"} } }, - "GetFoundationModelRequest":{ + "GuardrailTopicDefinition":{ + "type":"string", + "max":200, + "min":1, + "sensitive":true + }, + "GuardrailTopicExample":{ + "type":"string", + "max":100, + "min":1, + "sensitive":true + }, + "GuardrailTopicExamples":{ + "type":"list", + "member":{"shape":"GuardrailTopicExample"}, + "max":5, + "min":0 + }, + "GuardrailTopicName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[0-9a-zA-Z-_ !?.]+", + "sensitive":true + }, + "GuardrailTopicPolicy":{ "type":"structure", - "required":["modelIdentifier"], + "required":["topics"], "members":{ - "modelIdentifier":{ - "shape":"ModelIdentifier", - "location":"uri", - "locationName":"modelIdentifier" - } + "topics":{"shape":"GuardrailTopics"} } }, - "GetFoundationModelResponse":{ + "GuardrailTopicPolicyConfig":{ "type":"structure", + "required":["topicsConfig"], "members":{ - "modelDetails":{"shape":"FoundationModelDetails"} + "topicsConfig":{"shape":"GuardrailTopicsConfig"} } }, - "GetModelCustomizationJobRequest":{ + "GuardrailTopicType":{ + "type":"string", + "enum":["DENY"] + }, + "GuardrailTopics":{ + "type":"list", + "member":{"shape":"GuardrailTopic"}, + "max":30, + "min":1 + }, + "GuardrailTopicsConfig":{ + "type":"list", + "member":{"shape":"GuardrailTopicConfig"}, + "max":30, + "min":1 + }, + "GuardrailVersion":{ + "type":"string", + "pattern":"(([1-9][0-9]{0,7})|(DRAFT))" + }, + "GuardrailWord":{ "type":"structure", - "required":["jobIdentifier"], + "required":["text"], "members":{ - "jobIdentifier":{ - "shape":"ModelCustomizationJobIdentifier", - "location":"uri", - "locationName":"jobIdentifier" - } + "text":{"shape":"GuardrailWordTextString"} } }, - "GetModelCustomizationJobResponse":{ + "GuardrailWordConfig":{ "type":"structure", - "required":[ - "jobArn", - "jobName", - "outputModelName", - "roleArn", - "creationTime", - "baseModelArn", - "hyperParameters", - "trainingDataConfig", - "validationDataConfig", - "outputDataConfig" - ], + "required":["text"], "members":{ - "jobArn":{"shape":"ModelCustomizationJobArn"}, - "jobName":{"shape":"JobName"}, - "outputModelName":{"shape":"CustomModelName"}, - "outputModelArn":{"shape":"CustomModelArn"}, - "clientRequestToken":{"shape":"IdempotencyToken"}, - "roleArn":{"shape":"RoleArn"}, - "status":{"shape":"ModelCustomizationJobStatus"}, - "failureMessage":{"shape":"ErrorMessage"}, - "creationTime":{"shape":"Timestamp"}, - "lastModifiedTime":{"shape":"Timestamp"}, - "endTime":{"shape":"Timestamp"}, - "baseModelArn":{"shape":"FoundationModelArn"}, - "hyperParameters":{"shape":"ModelCustomizationHyperParameters"}, - "trainingDataConfig":{"shape":"TrainingDataConfig"}, - "validationDataConfig":{"shape":"ValidationDataConfig"}, - "outputDataConfig":{"shape":"OutputDataConfig"}, - "customizationType":{"shape":"CustomizationType"}, - "outputModelKmsKeyArn":{"shape":"KmsKeyArn"}, - "trainingMetrics":{"shape":"TrainingMetrics"}, - "validationMetrics":{"shape":"ValidationMetrics"}, - "vpcConfig":{"shape":"VpcConfig"} + "text":{"shape":"GuardrailWordConfigTextString"} } }, - "GetModelInvocationLoggingConfigurationRequest":{ + "GuardrailWordConfigTextString":{ + "type":"string", + "max":100, + "min":1 + }, + "GuardrailWordPolicy":{ "type":"structure", "members":{ + "words":{"shape":"GuardrailWords"}, + "managedWordLists":{"shape":"GuardrailManagedWordLists"} } }, - "GetModelInvocationLoggingConfigurationResponse":{ + "GuardrailWordPolicyConfig":{ "type":"structure", "members":{ - "loggingConfig":{"shape":"LoggingConfig"} + "wordsConfig":{"shape":"GuardrailWordsConfig"}, + "managedWordListsConfig":{"shape":"GuardrailManagedWordListsConfig"} } }, - "GetProvisionedModelThroughputRequest":{ + "GuardrailWordTextString":{ + "type":"string", + "max":100, + "min":1 + }, + "GuardrailWords":{ + "type":"list", + "member":{"shape":"GuardrailWord"}, + "max":10000, + "min":1 + }, + "GuardrailWordsConfig":{ + "type":"list", + "member":{"shape":"GuardrailWordConfig"}, + "max":10000, + "min":1 + }, + "HumanEvaluationConfig":{ "type":"structure", - "required":["provisionedModelId"], + "required":["datasetMetricConfigs"], "members":{ - "provisionedModelId":{ - "shape":"ProvisionedModelId", - "location":"uri", - "locationName":"provisionedModelId" - } + "humanWorkflowConfig":{"shape":"HumanWorkflowConfig"}, + "customMetrics":{"shape":"HumanEvaluationCustomMetrics"}, + "datasetMetricConfigs":{"shape":"EvaluationDatasetMetricConfigs"} } }, - "GetProvisionedModelThroughputResponse":{ + "HumanEvaluationCustomMetric":{ "type":"structure", "required":[ - "modelUnits", - "desiredModelUnits", - "provisionedModelName", - "provisionedModelArn", - "modelArn", - "desiredModelArn", - "foundationModelArn", - "status", - "creationTime", - "lastModifiedTime" + "name", + "ratingMethod" ], "members":{ - "modelUnits":{"shape":"PositiveInteger"}, - "desiredModelUnits":{"shape":"PositiveInteger"}, - "provisionedModelName":{"shape":"ProvisionedModelName"}, - "provisionedModelArn":{"shape":"ProvisionedModelArn"}, - "modelArn":{"shape":"ModelArn"}, - "desiredModelArn":{"shape":"ModelArn"}, - "foundationModelArn":{"shape":"FoundationModelArn"}, - "status":{"shape":"ProvisionedModelStatus"}, - "creationTime":{"shape":"Timestamp"}, - "lastModifiedTime":{"shape":"Timestamp"}, - "failureMessage":{"shape":"ErrorMessage"}, - "commitmentDuration":{"shape":"CommitmentDuration"}, - "commitmentExpirationTime":{"shape":"Timestamp"} + "name":{"shape":"EvaluationMetricName"}, + "description":{"shape":"EvaluationMetricDescription"}, + "ratingMethod":{"shape":"EvaluationRatingMethod"} + } + }, + "HumanEvaluationCustomMetrics":{ + "type":"list", + "member":{"shape":"HumanEvaluationCustomMetric"}, + "max":10, + "min":1 + }, + "HumanTaskInstructions":{ + "type":"string", + "max":5000, + "min":1, + "pattern":"[\\S\\s]+", + "sensitive":true + }, + "HumanWorkflowConfig":{ + "type":"structure", + "required":["flowDefinitionArn"], + "members":{ + "flowDefinitionArn":{"shape":"SageMakerFlowDefinitionArn"}, + "instructions":{"shape":"HumanTaskInstructions"} } }, "IdempotencyToken":{ @@ -915,6 +2080,58 @@ "modelSummaries":{"shape":"CustomModelSummaryList"} } }, + "ListEvaluationJobsRequest":{ + "type":"structure", + "members":{ + "creationTimeAfter":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"creationTimeAfter" + }, + "creationTimeBefore":{ + "shape":"Timestamp", + "location":"querystring", + "locationName":"creationTimeBefore" + }, + "statusEquals":{ + "shape":"EvaluationJobStatus", + "location":"querystring", + "locationName":"statusEquals" + }, + "nameContains":{ + "shape":"EvaluationJobName", + "location":"querystring", + "locationName":"nameContains" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "sortBy":{ + "shape":"SortJobsBy", + "location":"querystring", + "locationName":"sortBy" + }, + "sortOrder":{ + "shape":"SortOrder", + "location":"querystring", + "locationName":"sortOrder" + } + } + }, + "ListEvaluationJobsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "jobSummaries":{"shape":"EvaluationSummaries"} + } + }, "ListFoundationModelsRequest":{ "type":"structure", "members":{ @@ -946,6 +2163,34 @@ "modelSummaries":{"shape":"FoundationModelSummaryList"} } }, + "ListGuardrailsRequest":{ + "type":"structure", + "members":{ + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"querystring", + "locationName":"guardrailIdentifier" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListGuardrailsResponse":{ + "type":"structure", + "required":["guardrails"], + "members":{ + "guardrails":{"shape":"GuardrailSummaries"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListModelCustomizationJobsRequest":{ "type":"structure", "members":{ @@ -1312,6 +2557,12 @@ "min":1, "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" }, + "SageMakerFlowDefinitionArn":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"arn:aws(-[^:]+)?:sagemaker:[a-z0-9-]{1,20}:[0-9]{12}:flow-definition/.*" + }, "SecurityGroupId":{ "type":"string", "max":32, @@ -1354,6 +2605,22 @@ "Descending" ] }, + "StopEvaluationJobRequest":{ + "type":"structure", + "required":["jobIdentifier"], + "members":{ + "jobIdentifier":{ + "shape":"EvaluationJobIdentifier", + "location":"uri", + "locationName":"jobIdentifier" + } + } + }, + "StopEvaluationJobResponse":{ + "type":"structure", + "members":{ + } + }, "StopModelCustomizationJobRequest":{ "type":"structure", "required":["jobIdentifier"], @@ -1438,7 +2705,7 @@ "type":"string", "max":1011, "min":20, - "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:provisioned-model/[a-z0-9]{12}$))).*" + "pattern":".*(^[a-zA-Z0-9][a-zA-Z0-9\\-]*$)|(^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:([0-9]{12}|)((:(fine-tuning-job|model-customization-job|custom-model)/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}([a-z0-9-]{1,63}[.]){0,2}[a-z0-9-]{1,63}([:][a-z0-9-]{1,63}){0,2}(/[a-z0-9]{12})$)|(:provisioned-model/[a-z0-9]{12}$)|(:guardrail/[a-z0-9]+$)|(:evaluation-job/[a-z0-9]{12}$))).*" }, "ThrottlingException":{ "type":"structure", @@ -1496,6 +2763,46 @@ "members":{ } }, + "UpdateGuardrailRequest":{ + "type":"structure", + "required":[ + "guardrailIdentifier", + "name", + "blockedInputMessaging", + "blockedOutputsMessaging" + ], + "members":{ + "guardrailIdentifier":{ + "shape":"GuardrailIdentifier", + "location":"uri", + "locationName":"guardrailIdentifier" + }, + "name":{"shape":"GuardrailName"}, + "description":{"shape":"GuardrailDescription"}, + "topicPolicyConfig":{"shape":"GuardrailTopicPolicyConfig"}, + "contentPolicyConfig":{"shape":"GuardrailContentPolicyConfig"}, + "wordPolicyConfig":{"shape":"GuardrailWordPolicyConfig"}, + "sensitiveInformationPolicyConfig":{"shape":"GuardrailSensitiveInformationPolicyConfig"}, + "blockedInputMessaging":{"shape":"GuardrailBlockedMessaging"}, + "blockedOutputsMessaging":{"shape":"GuardrailBlockedMessaging"}, + "kmsKeyId":{"shape":"KmsKeyId"} + } + }, + "UpdateGuardrailResponse":{ + "type":"structure", + "required":[ + "guardrailId", + "guardrailArn", + "version", + "updatedAt" + ], + "members":{ + "guardrailId":{"shape":"GuardrailId"}, + "guardrailArn":{"shape":"GuardrailArn"}, + "version":{"shape":"GuardrailDraftVersion"}, + "updatedAt":{"shape":"Timestamp"} + } + }, "UpdateProvisionedModelThroughputRequest":{ "type":"structure", "required":["provisionedModelId"], diff --git a/models/apis/bedrock/2023-04-20/docs-2.json b/models/apis/bedrock/2023-04-20/docs-2.json index 1ab5e45d5ef..c27d99bdd5c 100644 --- a/models/apis/bedrock/2023-04-20/docs-2.json +++ b/models/apis/bedrock/2023-04-20/docs-2.json @@ -1,27 +1,37 @@ { "version": "2.0", - "service": "

Describes the API operations for creating and managing Amazon Bedrock models.

", + "service": "

Describes the API operations for creating, managing, fine-turning, and evaluating Amazon Bedrock models.

", "operations": { - "CreateModelCustomizationJob": "

Creates a fine-tuning job to customize a base model.

You specify the base foundation model and the location of the training data. After the model-customization job completes successfully, your custom model resource will be ready to use. Training data contains input and output text for each record in a JSONL format. Optionally, you can specify validation data in the same format as the training data. Amazon Bedrock returns validation loss metrics and output generations after the job completes.

Model-customization jobs are asynchronous and the completion time depends on the base model and the training/validation data size. To monitor a job, use the GetModelCustomizationJob operation to retrieve the job status.

For more information, see Custom models in the Bedrock User Guide.

", - "CreateProvisionedModelThroughput": "

Creates a provisioned throughput with dedicated capacity for a foundation model or a fine-tuned model.

For more information, see Provisioned throughput in the Bedrock User Guide.

", - "DeleteCustomModel": "

Deletes a custom model that you created earlier. For more information, see Custom models in the Bedrock User Guide.

", + "CreateEvaluationJob": "

API operation for creating and managing Amazon Bedrock automatic model evaluation jobs and model evaluation jobs that use human workers. To learn more about the requirements for creating a model evaluation job see, Model evaluations.

", + "CreateGuardrail": "

Creates a guardrail to block topics and to filter out harmful content.

", + "CreateGuardrailVersion": "

Creates a version of the guardrail. Use this API to create a snapshot of the guardrail when you are satisfied with a configuration, or to compare the configuration with another version.

", + "CreateModelCustomizationJob": "

Creates a fine-tuning job to customize a base model.

You specify the base foundation model and the location of the training data. After the model-customization job completes successfully, your custom model resource will be ready to use. Amazon Bedrock returns validation loss metrics and output generations after the job completes.

For information on the format of training and validation data, see Prepare the datasets.

Model-customization jobs are asynchronous and the completion time depends on the base model and the training/validation data size. To monitor a job, use the GetModelCustomizationJob operation to retrieve the job status.

For more information, see Custom models in the Amazon Bedrock User Guide.

", + "CreateProvisionedModelThroughput": "

Creates dedicated throughput for a base or custom model with the model units and for the duration that you specify. For pricing details, see Amazon Bedrock Pricing. For more information, see Provisioned Throughput in the Amazon Bedrock User Guide.

", + "DeleteCustomModel": "

Deletes a custom model that you created earlier. For more information, see Custom models in the Amazon Bedrock User Guide.

", + "DeleteGuardrail": "

Deletes a guardrail.

", "DeleteModelInvocationLoggingConfiguration": "

Delete the invocation logging.

", - "DeleteProvisionedModelThroughput": "

Deletes a provisioned throughput. For more information, see Provisioned throughput in the Bedrock User Guide.

", - "GetCustomModel": "

Get the properties associated with a Amazon Bedrock custom model that you have created.For more information, see Custom models in the Bedrock User Guide.

", + "DeleteProvisionedModelThroughput": "

Deletes a Provisioned Throughput. You can't delete a Provisioned Throughput before the commitment term is over. For more information, see Provisioned Throughput in the Amazon Bedrock User Guide.

", + "GetCustomModel": "

Get the properties associated with a Amazon Bedrock custom model that you have created.For more information, see Custom models in the Amazon Bedrock User Guide.

", + "GetEvaluationJob": "

Retrieves the properties associated with a model evaluation job, including the status of the job. For more information, see Model evaluations.

", "GetFoundationModel": "

Get details about a Amazon Bedrock foundation model.

", - "GetModelCustomizationJob": "

Retrieves the properties associated with a model-customization job, including the status of the job. For more information, see Custom models in the Bedrock User Guide.

", + "GetGuardrail": "

Gets details about a guardrail. If you don't specify a version, the response returns details for the DRAFT version.

", + "GetModelCustomizationJob": "

Retrieves the properties associated with a model-customization job, including the status of the job. For more information, see Custom models in the Amazon Bedrock User Guide.

", "GetModelInvocationLoggingConfiguration": "

Get the current configuration values for model invocation logging.

", - "GetProvisionedModelThroughput": "

Get details for a provisioned throughput. For more information, see Provisioned throughput in the Bedrock User Guide.

", - "ListCustomModels": "

Returns a list of the custom models that you have created with the CreateModelCustomizationJob operation.

For more information, see Custom models in the Bedrock User Guide.

", - "ListFoundationModels": "

List of Amazon Bedrock foundation models that you can use. For more information, see Foundation models in the Bedrock User Guide.

", - "ListModelCustomizationJobs": "

Returns a list of model customization jobs that you have submitted. You can filter the jobs to return based on one or more criteria.

For more information, see Custom models in the Bedrock User Guide.

", - "ListProvisionedModelThroughputs": "

List the provisioned capacities. For more information, see Provisioned throughput in the Bedrock User Guide.

", - "ListTagsForResource": "

List the tags associated with the specified resource.

For more information, see Tagging resources in the Bedrock User Guide.

", + "GetProvisionedModelThroughput": "

Returns details for a Provisioned Throughput. For more information, see Provisioned Throughput in the Amazon Bedrock User Guide.

", + "ListCustomModels": "

Returns a list of the custom models that you have created with the CreateModelCustomizationJob operation.

For more information, see Custom models in the Amazon Bedrock User Guide.

", + "ListEvaluationJobs": "

Lists model evaluation jobs.

", + "ListFoundationModels": "

Lists Amazon Bedrock foundation models that you can use. You can filter the results with the request parameters. For more information, see Foundation models in the Amazon Bedrock User Guide.

", + "ListGuardrails": "

Lists details about all the guardrails in an account. To list the DRAFT version of all your guardrails, don't specify the guardrailIdentifier field. To list all versions of a guardrail, specify the ARN of the guardrail in the guardrailIdentifier field.

You can set the maximum number of results to return in a response in the maxResults field. If there are more results than the number you set, the response returns a nextToken that you can send in another ListGuardrails request to see the next batch of results.

", + "ListModelCustomizationJobs": "

Returns a list of model customization jobs that you have submitted. You can filter the jobs to return based on one or more criteria.

For more information, see Custom models in the Amazon Bedrock User Guide.

", + "ListProvisionedModelThroughputs": "

Lists the Provisioned Throughputs in the account. For more information, see Provisioned Throughput in the Amazon Bedrock User Guide.

", + "ListTagsForResource": "

List the tags associated with the specified resource.

For more information, see Tagging resources in the Amazon Bedrock User Guide.

", "PutModelInvocationLoggingConfiguration": "

Set the configuration values for model invocation logging.

", - "StopModelCustomizationJob": "

Stops an active model customization job. For more information, see Custom models in the Bedrock User Guide.

", - "TagResource": "

Associate tags with a resource. For more information, see Tagging resources in the Bedrock User Guide.

", - "UntagResource": "

Remove one or more tags from a resource. For more information, see Tagging resources in the Bedrock User Guide.

", - "UpdateProvisionedModelThroughput": "

Update a provisioned throughput. For more information, see Provisioned throughput in the Bedrock User Guide.

" + "StopEvaluationJob": "

Stops an in progress model evaluation job.

", + "StopModelCustomizationJob": "

Stops an active model customization job. For more information, see Custom models in the Amazon Bedrock User Guide.

", + "TagResource": "

Associate tags with a resource. For more information, see Tagging resources in the Amazon Bedrock User Guide.

", + "UntagResource": "

Remove one or more tags from a resource. For more information, see Tagging resources in the Amazon Bedrock User Guide.

", + "UpdateGuardrail": "

Updates a guardrail with the values you specify.

", + "UpdateProvisionedModelThroughput": "

Updates the name or associated model for a Provisioned Throughput. For more information, see Provisioned Throughput in the Amazon Bedrock User Guide.

" }, "shapes": { "AccessDeniedException": { @@ -29,6 +39,12 @@ "refs": { } }, + "AutomatedEvaluationConfig": { + "base": "

Use to specify a automatic model evaluation job. The EvaluationDatasetMetricConfig object is used to specify the prompt datasets, task type, and metric names.

", + "refs": { + "EvaluationConfig$automated": "

Used to specify an automated model evaluation job. See AutomatedEvaluationConfig to view the required parameters.

" + } + }, "BaseModelIdentifier": { "base": null, "refs": { @@ -39,7 +55,7 @@ "base": null, "refs": { "FoundationModelDetails$modelId": "

The model identifier.

", - "FoundationModelSummary$modelId": "

The model Id of the foundation model.

" + "FoundationModelSummary$modelId": "

The model ID of the foundation model.

" } }, "Boolean": { @@ -56,7 +72,7 @@ "base": null, "refs": { "FoundationModelDetails$modelName": "

The model name.

", - "FoundationModelDetails$providerName": "

he model's provider name.

", + "FoundationModelDetails$providerName": "

The model's provider name.

", "FoundationModelSummary$modelName": "

The name of the model.

", "FoundationModelSummary$providerName": "

The model's provider name.

" } @@ -76,9 +92,9 @@ "CommitmentDuration": { "base": null, "refs": { - "CreateProvisionedModelThroughputRequest$commitmentDuration": "

Commitment duration requested for the provisioned throughput.

", - "GetProvisionedModelThroughputResponse$commitmentDuration": "

Commitment duration of the provisioned throughput.

", - "ProvisionedModelSummary$commitmentDuration": "

Commitment duration for the provisioned throughput.

" + "CreateProvisionedModelThroughputRequest$commitmentDuration": "

The commitment duration requested for the Provisioned Throughput. Billing occurs hourly and is discounted for longer commitment terms. To request a no-commit Provisioned Throughput, omit this field.

Custom models support all levels of commitment. To see which base models support no commitment, see Supported regions and models for Provisioned Throughput in the Amazon Bedrock User Guide

", + "GetProvisionedModelThroughputResponse$commitmentDuration": "

Commitment duration of the Provisioned Throughput.

", + "ProvisionedModelSummary$commitmentDuration": "

The duration for which the Provisioned Throughput was committed.

" } }, "ConflictException": { @@ -86,6 +102,36 @@ "refs": { } }, + "CreateEvaluationJobRequest": { + "base": null, + "refs": { + } + }, + "CreateEvaluationJobResponse": { + "base": null, + "refs": { + } + }, + "CreateGuardrailRequest": { + "base": null, + "refs": { + } + }, + "CreateGuardrailResponse": { + "base": null, + "refs": { + } + }, + "CreateGuardrailVersionRequest": { + "base": null, + "refs": { + } + }, + "CreateGuardrailVersionResponse": { + "base": null, + "refs": { + } + }, "CreateModelCustomizationJobRequest": { "base": null, "refs": { @@ -109,15 +155,15 @@ "CustomModelArn": { "base": null, "refs": { - "CustomModelSummary$modelArn": "

The ARN of the custom model.

", - "GetModelCustomizationJobResponse$outputModelArn": "

The ARN of the output model.

", - "ModelCustomizationJobSummary$customModelArn": "

ARN of the custom model.

" + "CustomModelSummary$modelArn": "

The Amazon Resource Name (ARN) of the custom model.

", + "GetModelCustomizationJobResponse$outputModelArn": "

The Amazon Resource Name (ARN) of the output model.

", + "ModelCustomizationJobSummary$customModelArn": "

Amazon Resource Name (ARN) of the custom model.

" } }, "CustomModelName": { "base": null, "refs": { - "CreateModelCustomizationJobRequest$customModelName": "

Enter a name for the custom model.

", + "CreateModelCustomizationJobRequest$customModelName": "

A name for the resulting custom model.

", "CustomModelSummary$modelName": "

The name of the custom model.

", "GetCustomModelResponse$modelName": "

Model name associated with this model.

", "GetModelCustomizationJobResponse$outputModelName": "

The name of the output model.

", @@ -157,6 +203,16 @@ "refs": { } }, + "DeleteGuardrailRequest": { + "base": null, + "refs": { + } + }, + "DeleteGuardrailResponse": { + "base": null, + "refs": { + } + }, "DeleteModelInvocationLoggingConfigurationRequest": { "base": null, "refs": { @@ -180,8 +236,200 @@ "ErrorMessage": { "base": null, "refs": { + "ErrorMessages$member": null, "GetModelCustomizationJobResponse$failureMessage": "

Information about why the job failed.

", - "GetProvisionedModelThroughputResponse$failureMessage": "

Failure message for any issues that the create operation encounters.

" + "GetProvisionedModelThroughputResponse$failureMessage": "

A failure message for any issues that occurred during creation, updating, or deletion of the Provisioned Throughput.

" + } + }, + "ErrorMessages": { + "base": null, + "refs": { + "GetEvaluationJobResponse$failureMessages": "

An array of strings the specify why the model evaluation job has failed.

" + } + }, + "EvaluationBedrockModel": { + "base": "

Contains the ARN of the Amazon Bedrock models specified in your model evaluation job. Each Amazon Bedrock model supports different inferenceParams. To learn more about supported inference parameters for Amazon Bedrock models, see Inference parameters for foundation models.

The inferenceParams are specified using JSON. To successfully insert JSON as string make sure that all quotations are properly escaped. For example, \"temperature\":\"0.25\" key value pair would need to be formatted as \\\"temperature\\\":\\\"0.25\\\" to successfully accepted in the request.

", + "refs": { + "EvaluationModelConfig$bedrockModel": "

Defines the Amazon Bedrock model and inference parameters you want used.

" + } + }, + "EvaluationConfig": { + "base": "

Used to specify either a AutomatedEvaluationConfig or HumanEvaluationConfig object.

", + "refs": { + "CreateEvaluationJobRequest$evaluationConfig": "

Specifies whether the model evaluation job is automatic or uses human worker.

", + "GetEvaluationJobResponse$evaluationConfig": "

Contains details about the type of model evaluation job, the metrics used, the task type selected, the datasets used, and any custom metrics you defined.

" + } + }, + "EvaluationDataset": { + "base": "

Used to specify the name of a built-in prompt dataset and optionally, the Amazon S3 bucket where a custom prompt dataset is saved.

", + "refs": { + "EvaluationDatasetMetricConfig$dataset": "

Specifies the prompt dataset.

" + } + }, + "EvaluationDatasetLocation": { + "base": "

The location in Amazon S3 where your prompt dataset is stored.

", + "refs": { + "EvaluationDataset$datasetLocation": "

For custom prompt datasets, you must specify the location in Amazon S3 where the prompt dataset is saved.

" + } + }, + "EvaluationDatasetMetricConfig": { + "base": "

Defines the built-in prompt datasets, built-in metric names and custom metric names, and the task type.

", + "refs": { + "EvaluationDatasetMetricConfigs$member": null + } + }, + "EvaluationDatasetMetricConfigs": { + "base": null, + "refs": { + "AutomatedEvaluationConfig$datasetMetricConfigs": "

Specifies the required elements for an automatic model evaluation job.

", + "HumanEvaluationConfig$datasetMetricConfigs": "

Use to specify the metrics, task, and prompt dataset to be used in your model evaluation job.

" + } + }, + "EvaluationDatasetName": { + "base": null, + "refs": { + "EvaluationDataset$name": "

Used to specify supported built-in prompt datasets. Valid values are Builtin.Bold, Builtin.BoolQ, Builtin.NaturalQuestions, Builtin.Gigaword, Builtin.RealToxicityPrompts, Builtin.TriviaQa, Builtin.T-Rex, Builtin.WomensEcommerceClothingReviews and Builtin.Wikitext2.

" + } + }, + "EvaluationInferenceConfig": { + "base": "

Used to define the models you want used in your model evaluation job. Automated model evaluation jobs support only a single model. In a human-based model evaluation job, your annotator can compare the responses for up to two different models.

", + "refs": { + "CreateEvaluationJobRequest$inferenceConfig": "

Specify the models you want to use in your model evaluation job. Automatic model evaluation jobs support a single model, and model evaluation job that use human workers support two models.

", + "GetEvaluationJobResponse$inferenceConfig": "

Details about the models you specified in your model evaluation job.

" + } + }, + "EvaluationJobArn": { + "base": null, + "refs": { + "CreateEvaluationJobResponse$jobArn": "

The ARN of the model evaluation job.

", + "EvaluationSummary$jobArn": "

The Amazon Resource Name (ARN) of the model evaluation job.

", + "GetEvaluationJobResponse$jobArn": "

The Amazon Resource Name (ARN) of the model evaluation job.

" + } + }, + "EvaluationJobDescription": { + "base": null, + "refs": { + "CreateEvaluationJobRequest$jobDescription": "

A description of the model evaluation job.

", + "GetEvaluationJobResponse$jobDescription": "

The description of the model evaluation job.

" + } + }, + "EvaluationJobIdentifier": { + "base": null, + "refs": { + "GetEvaluationJobRequest$jobIdentifier": "

The Amazon Resource Name (ARN) of the model evaluation job.

", + "StopEvaluationJobRequest$jobIdentifier": "

The ARN of the model evaluation job you want to stop.

" + } + }, + "EvaluationJobName": { + "base": null, + "refs": { + "CreateEvaluationJobRequest$jobName": "

The name of the model evaluation job. Model evaluation job names must unique with your AWS account, and your account's AWS region.

", + "EvaluationSummary$jobName": "

The name of the model evaluation job.

", + "GetEvaluationJobResponse$jobName": "

The name of the model evaluation job.

", + "ListEvaluationJobsRequest$nameContains": "

Query parameter string for model evaluation job names.

" + } + }, + "EvaluationJobStatus": { + "base": null, + "refs": { + "EvaluationSummary$status": "

The current status of the model evaluation job.

", + "GetEvaluationJobResponse$status": "

The status of the model evaluation job.

", + "ListEvaluationJobsRequest$statusEquals": "

Only return jobs where the status condition is met.

" + } + }, + "EvaluationJobType": { + "base": null, + "refs": { + "EvaluationSummary$jobType": "

The type, either human or automatic, of model evaluation job.

", + "GetEvaluationJobResponse$jobType": "

The type of model evaluation job.

" + } + }, + "EvaluationMetricDescription": { + "base": null, + "refs": { + "HumanEvaluationCustomMetric$description": "

An optional description of the metric. Use this parameter to provide more details about the metric.

" + } + }, + "EvaluationMetricName": { + "base": null, + "refs": { + "EvaluationMetricNames$member": null, + "HumanEvaluationCustomMetric$name": "

The name of the metric. Your human evaluators will see this name in the evaluation UI.

" + } + }, + "EvaluationMetricNames": { + "base": null, + "refs": { + "EvaluationDatasetMetricConfig$metricNames": "

The names of the metrics used. For automated model evaluation jobs valid values are \"Builtin.Accuracy\", \"Builtin.Robustness\", and \"Builtin.Toxicity\". In human-based model evaluation jobs the array of strings must match the name parameter specified in HumanEvaluationCustomMetric.

" + } + }, + "EvaluationModelConfig": { + "base": "

Defines the models used in the model evaluation job.

", + "refs": { + "EvaluationModelConfigs$member": null + } + }, + "EvaluationModelConfigs": { + "base": null, + "refs": { + "EvaluationInferenceConfig$models": "

Used to specify the models.

" + } + }, + "EvaluationModelIdentifier": { + "base": null, + "refs": { + "EvaluationBedrockModel$modelIdentifier": "

The ARN of the Amazon Bedrock model specified.

", + "EvaluationModelIdentifiers$member": null + } + }, + "EvaluationModelIdentifiers": { + "base": null, + "refs": { + "EvaluationSummary$modelIdentifiers": "

The Amazon Resource Names (ARNs) of the model(s) used in the model evaluation job.

" + } + }, + "EvaluationModelInferenceParams": { + "base": null, + "refs": { + "EvaluationBedrockModel$inferenceParams": "

Each Amazon Bedrock support different inference parameters that change how the model behaves during inference.

" + } + }, + "EvaluationOutputDataConfig": { + "base": "

The Amazon S3 location where the results of your model evaluation job are saved.

", + "refs": { + "CreateEvaluationJobRequest$outputDataConfig": "

An object that defines where the results of model evaluation job will be saved in Amazon S3.

", + "GetEvaluationJobResponse$outputDataConfig": "

Amazon S3 location for where output data is saved.

" + } + }, + "EvaluationRatingMethod": { + "base": null, + "refs": { + "HumanEvaluationCustomMetric$ratingMethod": "

Choose how you want your human workers to evaluation your model. Valid values for rating methods are ThumbsUpDown, IndividualLikertScale,ComparisonLikertScale, ComparisonChoice, and ComparisonRank

" + } + }, + "EvaluationSummaries": { + "base": null, + "refs": { + "ListEvaluationJobsResponse$jobSummaries": "

A summary of the model evaluation jobs.

" + } + }, + "EvaluationSummary": { + "base": "

A summary of the model evaluation job.

", + "refs": { + "EvaluationSummaries$member": null + } + }, + "EvaluationTaskType": { + "base": null, + "refs": { + "EvaluationDatasetMetricConfig$taskType": "

The task type you want the model to carry out.

", + "EvaluationTaskTypes$member": null + } + }, + "EvaluationTaskTypes": { + "base": null, + "refs": { + "EvaluationSummary$evaluationTaskTypes": "

What task type was used in the model evaluation job.

" } }, "FineTuningJobStatus": { @@ -193,12 +441,12 @@ "FoundationModelArn": { "base": null, "refs": { - "FoundationModelDetails$modelArn": "

The model ARN.

", - "FoundationModelSummary$modelArn": "

The ARN of the foundation model.

", - "GetModelCustomizationJobResponse$baseModelArn": "

ARN of the base model.

", - "GetProvisionedModelThroughputResponse$foundationModelArn": "

ARN of the foundation model.

", - "ListCustomModelsRequest$foundationModelArnEquals": "

Return custom models only if the foundation model ARN matches this parameter.

", - "ProvisionedModelSummary$foundationModelArn": "

Foundation model ARN.

" + "FoundationModelDetails$modelArn": "

The model Amazon Resource Name (ARN).

", + "FoundationModelSummary$modelArn": "

The Amazon Resource Name (ARN) of the foundation model.

", + "GetModelCustomizationJobResponse$baseModelArn": "

Amazon Resource Name (ARN) of the base model.

", + "GetProvisionedModelThroughputResponse$foundationModelArn": "

The Amazon Resource Name (ARN) of the base model for which the Provisioned Throughput was created, or of the base model that the custom model for which the Provisioned Throughput was created was customized.

", + "ListCustomModelsRequest$foundationModelArnEquals": "

Return custom models only if the foundation model Amazon Resource Name (ARN) matches this parameter.

", + "ProvisionedModelSummary$foundationModelArn": "

The Amazon Resource Name (ARN) of the base model for which the Provisioned Throughput was created, or of the base model that the custom model for which the Provisioned Throughput was created was customized.

" } }, "FoundationModelDetails": { @@ -242,6 +490,16 @@ "refs": { } }, + "GetEvaluationJobRequest": { + "base": null, + "refs": { + } + }, + "GetEvaluationJobResponse": { + "base": null, + "refs": { + } + }, "GetFoundationModelRequest": { "base": null, "refs": { @@ -252,6 +510,16 @@ "refs": { } }, + "GetGuardrailRequest": { + "base": null, + "refs": { + } + }, + "GetGuardrailResponse": { + "base": null, + "refs": { + } + }, "GetModelCustomizationJobRequest": { "base": null, "refs": { @@ -282,19 +550,493 @@ "refs": { } }, + "GuardrailArn": { + "base": null, + "refs": { + "CreateGuardrailResponse$guardrailArn": "

The ARN of the guardrail that was created.

", + "GetGuardrailResponse$guardrailArn": "

The ARN of the guardrail that was created.

", + "GuardrailSummary$arn": "

The ARN of the guardrail.

", + "UpdateGuardrailResponse$guardrailArn": "

The ARN of the guardrail that was created.

" + } + }, + "GuardrailBlockedMessaging": { + "base": null, + "refs": { + "CreateGuardrailRequest$blockedInputMessaging": "

The message to return when the guardrail blocks a prompt.

", + "CreateGuardrailRequest$blockedOutputsMessaging": "

The message to return when the guardrail blocks a model response.

", + "GetGuardrailResponse$blockedInputMessaging": "

The message that the guardrail returns when it blocks a prompt.

", + "GetGuardrailResponse$blockedOutputsMessaging": "

The message that the guardrail returns when it blocks a model response.

", + "UpdateGuardrailRequest$blockedInputMessaging": "

The message to return when the guardrail blocks a prompt.

", + "UpdateGuardrailRequest$blockedOutputsMessaging": "

The message to return when the guardrail blocks a model response.

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

Contains filter strengths for harmful content. Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

Content filtering depends on the confidence classification of user inputs and FM responses across each of the four harmful categories. All input and output statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement is classified as Hate with HIGH confidence, the likelihood of the statement representing hateful content is high. A single statement can be classified across multiple categories with varying confidence levels. For example, a single statement can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

For more information, see Guardrails content filters.

This data type is used in the following API operations:

", + "refs": { + "GuardrailContentFilters$member": null + } + }, + "GuardrailContentFilterConfig": { + "base": "

Contains filter strengths for harmful content. Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

Content filtering depends on the confidence classification of user inputs and FM responses across each of the four harmful categories. All input and output statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement is classified as Hate with HIGH confidence, the likelihood of the statement representing hateful content is high. A single statement can be classified across multiple categories with varying confidence levels. For example, a single statement can be classified as Hate with HIGH confidence, Insults with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM confidence.

For more information, see Guardrails content filters.

This data type is used in the following API operations:

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

The harmful category that the content filter is applied to.

", + "GuardrailContentFilterConfig$type": "

The harmful category that the content filter is applied to.

" + } + }, + "GuardrailContentFilters": { + "base": null, + "refs": { + "GuardrailContentPolicy$filters": "

Contains the type of the content filter and how strongly it should apply to prompts and model responses.

" + } + }, + "GuardrailContentFiltersConfig": { + "base": null, + "refs": { + "GuardrailContentPolicyConfig$filtersConfig": "

Contains the type of the content filter and how strongly it should apply to prompts and model responses.

" + } + }, + "GuardrailContentPolicy": { + "base": "

Contains details about how to handle harmful content.

This data type is used in the following API operations:

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

The content policy that was configured for the guardrail.

" + } + }, + "GuardrailContentPolicyConfig": { + "base": "

Contains details about how to handle harmful content.

This data type is used in the following API operations:

", + "refs": { + "CreateGuardrailRequest$contentPolicyConfig": "

The content filter policies to configure for the guardrail.

", + "UpdateGuardrailRequest$contentPolicyConfig": "

The content policy to configure for the guardrail.

" + } + }, + "GuardrailDescription": { + "base": null, + "refs": { + "CreateGuardrailRequest$description": "

A description of the guardrail.

", + "CreateGuardrailVersionRequest$description": "

A description of the guardrail version.

", + "GetGuardrailResponse$description": "

The description of the guardrail.

", + "GuardrailSummary$description": "

A description of the guardrail.

", + "UpdateGuardrailRequest$description": "

A description of the guardrail.

" + } + }, + "GuardrailDraftVersion": { + "base": null, + "refs": { + "CreateGuardrailResponse$version": "

The version of the guardrail that was created. This value should be 1.

", + "UpdateGuardrailResponse$version": "

The version of the guardrail.

" + } + }, + "GuardrailFailureRecommendation": { + "base": null, + "refs": { + "GuardrailFailureRecommendations$member": null + } + }, + "GuardrailFailureRecommendations": { + "base": null, + "refs": { + "GetGuardrailResponse$failureRecommendations": "

Appears if the status of the guardrail is FAILED. A list of recommendations to carry out before retrying the request.

" + } + }, + "GuardrailFilterStrength": { + "base": null, + "refs": { + "GuardrailContentFilter$inputStrength": "

The strength of the content filter to apply to prompts. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

", + "GuardrailContentFilter$outputStrength": "

The strength of the content filter to apply to model responses. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

", + "GuardrailContentFilterConfig$inputStrength": "

The strength of the content filter to apply to prompts. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

", + "GuardrailContentFilterConfig$outputStrength": "

The strength of the content filter to apply to model responses. As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.

" + } + }, + "GuardrailId": { + "base": null, + "refs": { + "CreateGuardrailResponse$guardrailId": "

The unique identifier of the guardrail that was created.

", + "CreateGuardrailVersionResponse$guardrailId": "

The unique identifier of the guardrail.

", + "GetGuardrailResponse$guardrailId": "

The unique identifier of the guardrail.

", + "GuardrailSummary$id": "

The unique identifier of the guardrail.

", + "UpdateGuardrailResponse$guardrailId": "

The unique identifier of the guardrail

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

The unique identifier of the guardrail.

", + "DeleteGuardrailRequest$guardrailIdentifier": "

The unique identifier of the guardrail.

", + "GetGuardrailRequest$guardrailIdentifier": "

The unique identifier of the guardrail for which to get details.

", + "ListGuardrailsRequest$guardrailIdentifier": "

The unique identifier of the guardrail.

", + "UpdateGuardrailRequest$guardrailIdentifier": "

The unique identifier of the guardrail

" + } + }, + "GuardrailManagedWordLists": { + "base": null, + "refs": { + "GuardrailWordPolicy$managedWordLists": "

A list of managed words configured for the guardrail.

" + } + }, + "GuardrailManagedWordListsConfig": { + "base": null, + "refs": { + "GuardrailWordPolicyConfig$managedWordListsConfig": "

A list of managed words to configure for the guardrail.

" + } + }, + "GuardrailManagedWords": { + "base": "

The managed word list that was configured for the guardrail. (This is a list of words that are pre-defined and managed by Guardrails only.)

", + "refs": { + "GuardrailManagedWordLists$member": null + } + }, + "GuardrailManagedWordsConfig": { + "base": "

The managed word list to configure for the guardrail.

", + "refs": { + "GuardrailManagedWordListsConfig$member": null + } + }, + "GuardrailManagedWordsType": { + "base": null, + "refs": { + "GuardrailManagedWords$type": "

ManagedWords$type The managed word type that was configured for the guardrail. (For now, we only offer profanity word list)

", + "GuardrailManagedWordsConfig$type": "

The managed word type to configure for the guardrail.

" + } + }, + "GuardrailName": { + "base": null, + "refs": { + "CreateGuardrailRequest$name": "

The name to give the guardrail.

", + "GetGuardrailResponse$name": "

The name of the guardrail.

", + "GuardrailSummary$name": "

The name of the guardrail.

", + "UpdateGuardrailRequest$name": "

A name for the guardrail.

" + } + }, + "GuardrailNumericalVersion": { + "base": null, + "refs": { + "CreateGuardrailVersionResponse$version": "

The number of the version of the guardrail.

", + "DeleteGuardrailRequest$guardrailVersion": "

The version of the guardrail.

" + } + }, + "GuardrailPiiEntities": { + "base": null, + "refs": { + "GuardrailSensitiveInformationPolicy$piiEntities": "

The list of PII entities configured for the guardrail.

" + } + }, + "GuardrailPiiEntitiesConfig": { + "base": null, + "refs": { + "GuardrailSensitiveInformationPolicyConfig$piiEntitiesConfig": "

A list of PII entities to configure to the guardrail.

" + } + }, + "GuardrailPiiEntity": { + "base": "

The PII entity configured for the guardrail.

", + "refs": { + "GuardrailPiiEntities$member": null + } + }, + "GuardrailPiiEntityConfig": { + "base": "

The PII entity to configure for the guardrail.

", + "refs": { + "GuardrailPiiEntitiesConfig$member": null + } + }, + "GuardrailPiiEntityType": { + "base": null, + "refs": { + "GuardrailPiiEntity$type": "

The type of PII entity. For example, Social Security Number.

", + "GuardrailPiiEntityConfig$type": "

Configure guardrail type when the PII entity is detected.

" + } + }, + "GuardrailRegex": { + "base": "

The regular expression configured for the guardrail.

", + "refs": { + "GuardrailRegexes$member": null + } + }, + "GuardrailRegexConfig": { + "base": "

The regular expression to configure for the guardrail.

", + "refs": { + "GuardrailRegexesConfig$member": null + } + }, + "GuardrailRegexConfigDescriptionString": { + "base": null, + "refs": { + "GuardrailRegexConfig$description": "

The description of the regular expression to configure for the guardrail.

" + } + }, + "GuardrailRegexConfigNameString": { + "base": null, + "refs": { + "GuardrailRegexConfig$name": "

The name of the regular expression to configure for the guardrail.

" + } + }, + "GuardrailRegexConfigPatternString": { + "base": null, + "refs": { + "GuardrailRegexConfig$pattern": "

The regular expression pattern to configure for the guardrail.

" + } + }, + "GuardrailRegexDescriptionString": { + "base": null, + "refs": { + "GuardrailRegex$description": "

The description of the regular expression for the guardrail.

" + } + }, + "GuardrailRegexNameString": { + "base": null, + "refs": { + "GuardrailRegex$name": "

The name of the regular expression for the guardrail.

" + } + }, + "GuardrailRegexPatternString": { + "base": null, + "refs": { + "GuardrailRegex$pattern": "

The pattern of the regular expression configured for the guardrail.

" + } + }, + "GuardrailRegexes": { + "base": null, + "refs": { + "GuardrailSensitiveInformationPolicy$regexes": "

The list of regular expressions configured for the guardrail.

" + } + }, + "GuardrailRegexesConfig": { + "base": null, + "refs": { + "GuardrailSensitiveInformationPolicyConfig$regexesConfig": "

A list of regular expressions to configure to the guardrail.

" + } + }, + "GuardrailSensitiveInformationAction": { + "base": null, + "refs": { + "GuardrailPiiEntity$action": "

The configured guardrail action when PII entity is detected.

", + "GuardrailPiiEntityConfig$action": "

Configure guardrail action when the PII entity is detected.

", + "GuardrailRegex$action": "

The action taken when a match to the regular expression is detected.

", + "GuardrailRegexConfig$action": "

The guardrail action to configure when matching regular expression is detected.

" + } + }, + "GuardrailSensitiveInformationPolicy": { + "base": "

Contains details about PII entities and regular expressions configured for the guardrail.

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

The sensitive information policy that was configured for the guardrail.

" + } + }, + "GuardrailSensitiveInformationPolicyConfig": { + "base": "

Contains details about PII entities and regular expressions to configure for the guardrail.

", + "refs": { + "CreateGuardrailRequest$sensitiveInformationPolicyConfig": "

The sensitive information policy to configure for the guardrail.

", + "UpdateGuardrailRequest$sensitiveInformationPolicyConfig": "

The sensitive information policy to configure for the guardrail.

" + } + }, + "GuardrailStatus": { + "base": null, + "refs": { + "GetGuardrailResponse$status": "

The status of the guardrail.

", + "GuardrailSummary$status": "

The status of the guardrail.

" + } + }, + "GuardrailStatusReason": { + "base": null, + "refs": { + "GuardrailStatusReasons$member": null + } + }, + "GuardrailStatusReasons": { + "base": null, + "refs": { + "GetGuardrailResponse$statusReasons": "

Appears if the status is FAILED. A list of reasons for why the guardrail failed to be created, updated, versioned, or deleted.

" + } + }, + "GuardrailSummaries": { + "base": null, + "refs": { + "ListGuardrailsResponse$guardrails": "

A list of objects, each of which contains details about a guardrail.

" + } + }, + "GuardrailSummary": { + "base": "

Contains details about a guardrail.

This data type is used in the following API operations:

", + "refs": { + "GuardrailSummaries$member": null + } + }, + "GuardrailTopic": { + "base": "

Details about topics for the guardrail to identify and deny.

This data type is used in the following API operations:

", + "refs": { + "GuardrailTopics$member": null + } + }, + "GuardrailTopicConfig": { + "base": "

Details about topics for the guardrail to identify and deny.

This data type is used in the following API operations:

", + "refs": { + "GuardrailTopicsConfig$member": null + } + }, + "GuardrailTopicDefinition": { + "base": null, + "refs": { + "GuardrailTopic$definition": "

A definition of the topic to deny.

", + "GuardrailTopicConfig$definition": "

A definition of the topic to deny.

" + } + }, + "GuardrailTopicExample": { + "base": null, + "refs": { + "GuardrailTopicExamples$member": null + } + }, + "GuardrailTopicExamples": { + "base": null, + "refs": { + "GuardrailTopic$examples": "

A list of prompts, each of which is an example of a prompt that can be categorized as belonging to the topic.

", + "GuardrailTopicConfig$examples": "

A list of prompts, each of which is an example of a prompt that can be categorized as belonging to the topic.

" + } + }, + "GuardrailTopicName": { + "base": null, + "refs": { + "GuardrailTopic$name": "

The name of the topic to deny.

", + "GuardrailTopicConfig$name": "

The name of the topic to deny.

" + } + }, + "GuardrailTopicPolicy": { + "base": "

Contains details about topics that the guardrail should identify and deny.

This data type is used in the following API operations:

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

The topic policy that was configured for the guardrail.

" + } + }, + "GuardrailTopicPolicyConfig": { + "base": "

Contains details about topics that the guardrail should identify and deny.

This data type is used in the following API operations:

", + "refs": { + "CreateGuardrailRequest$topicPolicyConfig": "

The topic policies to configure for the guardrail.

", + "UpdateGuardrailRequest$topicPolicyConfig": "

The topic policy to configure for the guardrail.

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

Specifies to deny the topic.

", + "GuardrailTopicConfig$type": "

Specifies to deny the topic.

" + } + }, + "GuardrailTopics": { + "base": null, + "refs": { + "GuardrailTopicPolicy$topics": "

A list of policies related to topics that the guardrail should deny.

" + } + }, + "GuardrailTopicsConfig": { + "base": null, + "refs": { + "GuardrailTopicPolicyConfig$topicsConfig": "

A list of policies related to topics that the guardrail should deny.

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

The version of the guardrail for which to get details. If you don't specify a version, the response returns details for the DRAFT version.

", + "GetGuardrailResponse$version": "

The version of the guardrail.

", + "GuardrailSummary$version": "

The version of the guardrail.

" + } + }, + "GuardrailWord": { + "base": "

A word configured for the guardrail.

", + "refs": { + "GuardrailWords$member": null + } + }, + "GuardrailWordConfig": { + "base": "

A word to configure for the guardrail.

", + "refs": { + "GuardrailWordsConfig$member": null + } + }, + "GuardrailWordConfigTextString": { + "base": null, + "refs": { + "GuardrailWordConfig$text": "

Text of the word configured for the guardrail to block.

" + } + }, + "GuardrailWordPolicy": { + "base": "

Contains details about the word policy configured for the guardrail.

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

The word policy that was configured for the guardrail.

" + } + }, + "GuardrailWordPolicyConfig": { + "base": "

Contains details about the word policy to configured for the guardrail.

", + "refs": { + "CreateGuardrailRequest$wordPolicyConfig": "

The word policy you configure for the guardrail.

", + "UpdateGuardrailRequest$wordPolicyConfig": "

The word policy to configure for the guardrail.

" + } + }, + "GuardrailWordTextString": { + "base": null, + "refs": { + "GuardrailWord$text": "

Text of the word configured for the guardrail to block.

" + } + }, + "GuardrailWords": { + "base": null, + "refs": { + "GuardrailWordPolicy$words": "

A list of words configured for the guardrail.

" + } + }, + "GuardrailWordsConfig": { + "base": null, + "refs": { + "GuardrailWordPolicyConfig$wordsConfig": "

A list of words to configure for the guardrail.

" + } + }, + "HumanEvaluationConfig": { + "base": "

Specifies the custom metrics, how tasks will be rated, the flow definition ARN, and your custom prompt datasets. Model evaluation jobs use human workers only support the use of custom prompt datasets. To learn more about custom prompt datasets and the required format, see Custom prompt datasets.

When you create custom metrics in HumanEvaluationCustomMetric you must specify the metric's name. The list of names specified in the HumanEvaluationCustomMetric array, must match the metricNames array of strings specified in EvaluationDatasetMetricConfig. For example, if in the HumanEvaluationCustomMetric array your specified the names \"accuracy\", \"toxicity\", \"readability\" as custom metrics then the metricNames array would need to look like the following [\"accuracy\", \"toxicity\", \"readability\"] in EvaluationDatasetMetricConfig.

", + "refs": { + "EvaluationConfig$human": "

Used to specify a model evaluation job that uses human workers.See HumanEvaluationConfig to view the required parameters.

" + } + }, + "HumanEvaluationCustomMetric": { + "base": "

In a model evaluation job that uses human workers you must define the name of the metric, and how you want that metric rated ratingMethod, and an optional description of the metric.

", + "refs": { + "HumanEvaluationCustomMetrics$member": null + } + }, + "HumanEvaluationCustomMetrics": { + "base": null, + "refs": { + "HumanEvaluationConfig$customMetrics": "

A HumanEvaluationCustomMetric object. It contains the names the metrics, how the metrics are to be evaluated, an optional description.

" + } + }, + "HumanTaskInstructions": { + "base": null, + "refs": { + "HumanWorkflowConfig$instructions": "

Instructions for the flow definition

" + } + }, + "HumanWorkflowConfig": { + "base": "

Contains SageMakerFlowDefinition object. The object is used to specify the prompt dataset, task type, rating method and metric names.

", + "refs": { + "HumanEvaluationConfig$humanWorkflowConfig": "

The parameters of the human workflow.

" + } + }, "IdempotencyToken": { "base": null, "refs": { - "CreateModelCustomizationJobRequest$clientRequestToken": "

Unique token value that you can provide. The GetModelCustomizationJob response includes the same token value.

", - "CreateProvisionedModelThroughputRequest$clientRequestToken": "

Unique token value that you can provide. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error.

", - "GetModelCustomizationJobResponse$clientRequestToken": "

The token that you specified in the CreateCustomizationJob request.

" + "CreateEvaluationJobRequest$clientRequestToken": "

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

", + "CreateGuardrailRequest$clientRequestToken": "

A unique, case-sensitive identifier to ensure that the API request completes no more than once. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

", + "CreateGuardrailVersionRequest$clientRequestToken": "

A unique, case-sensitive identifier to ensure that the API request completes no more than once. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

", + "CreateModelCustomizationJobRequest$clientRequestToken": "

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

", + "CreateProvisionedModelThroughputRequest$clientRequestToken": "

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency in the Amazon S3 User Guide.

", + "GetModelCustomizationJobResponse$clientRequestToken": "

The token that you specified in the CreateCustomizationJob request.

" } }, "InferenceType": { "base": null, "refs": { "InferenceTypeList$member": null, - "ListFoundationModelsRequest$byInferenceType": "

List by inference type.

" + "ListFoundationModelsRequest$byInferenceType": "

Return models that support the inference type that you specify. For more information, see Provisioned Throughput in the Amazon Bedrock User Guide.

" } }, "InferenceTypeList": { @@ -312,7 +1054,7 @@ "JobName": { "base": null, "refs": { - "CreateModelCustomizationJobRequest$jobName": "

Enter a unique name for the fine-tuning job.

", + "CreateModelCustomizationJobRequest$jobName": "

A name for the fine-tuning job.

", "GetCustomModelResponse$jobName": "

Job name associated with this model.

", "GetModelCustomizationJobResponse$jobName": "

The name of the customization job.

", "ListModelCustomizationJobsRequest$nameContains": "

Return customization jobs only if the job name contains these characters.

", @@ -329,13 +1071,18 @@ "base": null, "refs": { "GetCustomModelResponse$modelKmsKeyArn": "

The custom model is encrypted at rest using this key.

", + "GetGuardrailResponse$kmsKeyArn": "

The ARN of the KMS key that encrypts the guardrail.

", "GetModelCustomizationJobResponse$outputModelKmsKeyArn": "

The custom model is encrypted at rest using this key.

" } }, "KmsKeyId": { "base": null, "refs": { - "CreateModelCustomizationJobRequest$customModelKmsKeyId": "

The custom model is encrypted at rest using this key.

" + "CreateEvaluationJobRequest$customerEncryptionKeyId": "

Specify your customer managed key ARN that will be used to encrypt your model evaluation job.

", + "CreateGuardrailRequest$kmsKeyId": "

The ARN of the KMS key that you use to encrypt the guardrail.

", + "CreateModelCustomizationJobRequest$customModelKmsKeyId": "

The custom model is encrypted at rest using this key.

", + "GetEvaluationJobResponse$customerEncryptionKeyId": "

The Amazon Resource Name (ARN) of the customer managed key specified when the model evaluation job was created.

", + "UpdateGuardrailRequest$kmsKeyId": "

The ARN of the KMS key with which to encrypt the guardrail.

" } }, "ListCustomModelsRequest": { @@ -348,6 +1095,16 @@ "refs": { } }, + "ListEvaluationJobsRequest": { + "base": null, + "refs": { + } + }, + "ListEvaluationJobsResponse": { + "base": null, + "refs": { + } + }, "ListFoundationModelsRequest": { "base": null, "refs": { @@ -358,6 +1115,16 @@ "refs": { } }, + "ListGuardrailsRequest": { + "base": null, + "refs": { + } + }, + "ListGuardrailsResponse": { + "base": null, + "refs": { + } + }, "ListModelCustomizationJobsRequest": { "base": null, "refs": { @@ -395,7 +1162,7 @@ } }, "LoggingConfig": { - "base": "

Configuration fields for invokation logging.

", + "base": "

Configuration fields for invocation logging.

", "refs": { "GetModelInvocationLoggingConfigurationResponse$loggingConfig": "

The current configuration values.

", "PutModelInvocationLoggingConfigurationRequest$loggingConfig": "

The logging configuration values to set.

" @@ -405,8 +1172,10 @@ "base": null, "refs": { "ListCustomModelsRequest$maxResults": "

Maximum number of results to return in the response.

", + "ListEvaluationJobsRequest$maxResults": "

The maximum number of results to return.

", + "ListGuardrailsRequest$maxResults": "

The maximum number of results to return in the response.

", "ListModelCustomizationJobsRequest$maxResults": "

Maximum number of results to return in the response.

", - "ListProvisionedModelThroughputsRequest$maxResults": "

THe maximum number of results to return in the response.

" + "ListProvisionedModelThroughputsRequest$maxResults": "

THe maximum number of results to return in the response. If there are more results than the number you specified, the response returns a nextToken value. To see the next batch of results, send the nextToken value in another list request.

" } }, "MetricFloat": { @@ -419,40 +1188,40 @@ "ModelArn": { "base": null, "refs": { - "CustomModelSummary$baseModelArn": "

The base model ARN.

", - "GetCustomModelResponse$modelArn": "

ARN associated with this model.

", - "GetCustomModelResponse$baseModelArn": "

ARN of the base model.

", - "GetProvisionedModelThroughputResponse$modelArn": "

The ARN or name of the model associated with this provisioned throughput.

", - "GetProvisionedModelThroughputResponse$desiredModelArn": "

The ARN of the new model to asssociate with this provisioned throughput.

", - "ListCustomModelsRequest$baseModelArnEquals": "

Return custom models only if the base model ARN matches this parameter.

", - "ListProvisionedModelThroughputsRequest$modelArnEquals": "

Return the list of provisioned capacities where their model ARN is equal to this parameter.

", - "ModelCustomizationJobSummary$baseModelArn": "

ARN of the base model.

", - "ProvisionedModelSummary$modelArn": "

The ARN of the model associated with this provisioned throughput.

", - "ProvisionedModelSummary$desiredModelArn": "

Desired model ARN.

" + "CustomModelSummary$baseModelArn": "

The base model Amazon Resource Name (ARN).

", + "GetCustomModelResponse$modelArn": "

Amazon Resource Name (ARN) associated with this model.

", + "GetCustomModelResponse$baseModelArn": "

Amazon Resource Name (ARN) of the base model.

", + "GetProvisionedModelThroughputResponse$modelArn": "

The Amazon Resource Name (ARN) of the model associated with this Provisioned Throughput.

", + "GetProvisionedModelThroughputResponse$desiredModelArn": "

The Amazon Resource Name (ARN) of the model requested to be associated to this Provisioned Throughput. This value differs from the modelArn if updating hasn't completed.

", + "ListCustomModelsRequest$baseModelArnEquals": "

Return custom models only if the base model Amazon Resource Name (ARN) matches this parameter.

", + "ListProvisionedModelThroughputsRequest$modelArnEquals": "

A filter that returns Provisioned Throughputs whose model Amazon Resource Name (ARN) is equal to the value that you specify.

", + "ModelCustomizationJobSummary$baseModelArn": "

Amazon Resource Name (ARN) of the base model.

", + "ProvisionedModelSummary$modelArn": "

The Amazon Resource Name (ARN) of the model associated with the Provisioned Throughput.

", + "ProvisionedModelSummary$desiredModelArn": "

The Amazon Resource Name (ARN) of the model requested to be associated to this Provisioned Throughput. This value differs from the modelArn if updating hasn't completed.

" } }, "ModelCustomization": { "base": null, "refs": { - "ListFoundationModelsRequest$byCustomizationType": "

List by customization type.

", + "ListFoundationModelsRequest$byCustomizationType": "

Return models that support the customization type that you specify. For more information, see Custom models in the Amazon Bedrock User Guide.

", "ModelCustomizationList$member": null } }, "ModelCustomizationHyperParameters": { "base": null, "refs": { - "CreateModelCustomizationJobRequest$hyperParameters": "

Parameters related to tuning the model.

", - "GetCustomModelResponse$hyperParameters": "

Hyperparameter values associated with this model.

", - "GetModelCustomizationJobResponse$hyperParameters": "

The hyperparameter values for the job. For information about hyperparameters for specific models, see Guidelines for model customization.

" + "CreateModelCustomizationJobRequest$hyperParameters": "

Parameters related to tuning the model. For details on the format for different models, see Custom model hyperparameters.

", + "GetCustomModelResponse$hyperParameters": "

Hyperparameter values associated with this model. For details on the format for different models, see Custom model hyperparameters.

", + "GetModelCustomizationJobResponse$hyperParameters": "

The hyperparameter values for the job. For details on the format for different models, see Custom model hyperparameters.

" } }, "ModelCustomizationJobArn": { "base": null, "refs": { - "CreateModelCustomizationJobResponse$jobArn": "

ARN of the fine tuning job

", - "GetCustomModelResponse$jobArn": "

Job ARN associated with this model.

", - "GetModelCustomizationJobResponse$jobArn": "

The ARN of the customization job.

", - "ModelCustomizationJobSummary$jobArn": "

ARN of the customization job.

" + "CreateModelCustomizationJobResponse$jobArn": "

Amazon Resource Name (ARN) of the fine tuning job

", + "GetCustomModelResponse$jobArn": "

Job Amazon Resource Name (ARN) associated with this model.

", + "GetModelCustomizationJobResponse$jobArn": "

The Amazon Resource Name (ARN) of the customization job.

", + "ModelCustomizationJobSummary$jobArn": "

Amazon Resource Name (ARN) of the customization job.

" } }, "ModelCustomizationJobIdentifier": { @@ -491,17 +1260,17 @@ "ModelIdentifier": { "base": null, "refs": { - "CreateProvisionedModelThroughputRequest$modelId": "

Name or ARN of the model to associate with this provisioned throughput.

", + "CreateProvisionedModelThroughputRequest$modelId": "

The Amazon Resource Name (ARN) or name of the model to associate with this Provisioned Throughput. For a list of models for which you can purchase Provisioned Throughput, see Amazon Bedrock model IDs for purchasing Provisioned Throughput in the Amazon Bedrock User Guide.

", "DeleteCustomModelRequest$modelIdentifier": "

Name of the model to delete.

", - "GetCustomModelRequest$modelIdentifier": "

Name or ARN of the custom model.

", + "GetCustomModelRequest$modelIdentifier": "

Name or Amazon Resource Name (ARN) of the custom model.

", "GetFoundationModelRequest$modelIdentifier": "

The model identifier.

", - "UpdateProvisionedModelThroughputRequest$desiredModelId": "

The ARN of the new model to associate with this provisioned throughput.

" + "UpdateProvisionedModelThroughputRequest$desiredModelId": "

The Amazon Resource Name (ARN) of the new model to associate with this Provisioned Throughput. You can't specify this field if this Provisioned Throughput is associated with a base model.

If this Provisioned Throughput is associated with a custom model, you can specify one of the following options:

" } }, "ModelModality": { "base": null, "refs": { - "ListFoundationModelsRequest$byOutputModality": "

List by output modality type.

", + "ListFoundationModelsRequest$byOutputModality": "

Return models that support the output modality that you specify.

", "ModelModalityList$member": null } }, @@ -546,70 +1315,74 @@ "refs": { "ListCustomModelsRequest$nextToken": "

Continuation token from the previous response, for Amazon Bedrock to list the next set of results.

", "ListCustomModelsResponse$nextToken": "

Continuation token for the next request to list the next set of results.

", + "ListEvaluationJobsRequest$nextToken": "

Continuation token from the previous response, for Amazon Bedrock to list the next set of results.

", + "ListEvaluationJobsResponse$nextToken": "

Continuation token from the previous response, for Amazon Bedrock to list the next set of results.

", + "ListGuardrailsRequest$nextToken": "

If there are more results than were returned in the response, the response returns a nextToken that you can send in another ListGuardrails request to see the next batch of results.

", + "ListGuardrailsResponse$nextToken": "

If there are more results than were returned in the response, the response returns a nextToken that you can send in another ListGuardrails request to see the next batch of results.

", "ListModelCustomizationJobsRequest$nextToken": "

Continuation token from the previous response, for Amazon Bedrock to list the next set of results.

", "ListModelCustomizationJobsResponse$nextToken": "

Page continuation token to use in the next request.

", - "ListProvisionedModelThroughputsRequest$nextToken": "

Continuation token from the previous response, for Amazon Bedrock to list the next set of results.

", - "ListProvisionedModelThroughputsResponse$nextToken": "

Continuation token for the next request to list the next set of results.

" + "ListProvisionedModelThroughputsRequest$nextToken": "

If there are more results than the number you specified in the maxResults field, the response returns a nextToken value. To see the next batch of results, specify the nextToken value in this field.

", + "ListProvisionedModelThroughputsResponse$nextToken": "

If there are more results than the number you specified in the maxResults field, this value is returned. To see the next batch of results, include this value in the nextToken field in another list request.

" } }, "PositiveInteger": { "base": null, "refs": { - "CreateProvisionedModelThroughputRequest$modelUnits": "

Number of model units to allocate.

", - "GetProvisionedModelThroughputResponse$modelUnits": "

The current number of model units requested to be available for this provisioned throughput.

", - "GetProvisionedModelThroughputResponse$desiredModelUnits": "

The desired number of model units that was requested to be available for this provisioned throughput.

", - "ProvisionedModelSummary$modelUnits": "

The number of model units allocated.

", - "ProvisionedModelSummary$desiredModelUnits": "

Desired model units.

" + "CreateProvisionedModelThroughputRequest$modelUnits": "

Number of model units to allocate. A model unit delivers a specific throughput level for the specified model. The throughput level of a model unit specifies the total number of input and output tokens that it can process and generate within a span of one minute. By default, your account has no model units for purchasing Provisioned Throughputs with commitment. You must first visit the Amazon Web Services support center to request MUs.

For model unit quotas, see Provisioned Throughput quotas in the Amazon Bedrock User Guide.

For more information about what an MU specifies, contact your Amazon Web Services account manager.

", + "GetProvisionedModelThroughputResponse$modelUnits": "

The number of model units allocated to this Provisioned Throughput.

", + "GetProvisionedModelThroughputResponse$desiredModelUnits": "

The number of model units that was requested for this Provisioned Throughput.

", + "ProvisionedModelSummary$modelUnits": "

The number of model units allocated to the Provisioned Throughput.

", + "ProvisionedModelSummary$desiredModelUnits": "

The number of model units that was requested to be allocated to the Provisioned Throughput.

" } }, "Provider": { "base": null, "refs": { - "ListFoundationModelsRequest$byProvider": "

A Amazon Bedrock model provider.

" + "ListFoundationModelsRequest$byProvider": "

Return models belonging to the model provider that you specify.

" } }, "ProvisionedModelArn": { "base": null, "refs": { - "CreateProvisionedModelThroughputResponse$provisionedModelArn": "

The ARN for this provisioned throughput.

", - "GetProvisionedModelThroughputResponse$provisionedModelArn": "

The ARN of the provisioned throughput.

", - "ProvisionedModelSummary$provisionedModelArn": "

The ARN of the provisioned throughput.

" + "CreateProvisionedModelThroughputResponse$provisionedModelArn": "

The Amazon Resource Name (ARN) for this Provisioned Throughput.

", + "GetProvisionedModelThroughputResponse$provisionedModelArn": "

The Amazon Resource Name (ARN) of the Provisioned Throughput.

", + "ProvisionedModelSummary$provisionedModelArn": "

The Amazon Resource Name (ARN) of the Provisioned Throughput.

" } }, "ProvisionedModelId": { "base": null, "refs": { - "DeleteProvisionedModelThroughputRequest$provisionedModelId": "

The ARN or name of the provisioned throughput.

", - "GetProvisionedModelThroughputRequest$provisionedModelId": "

The ARN or name of the provisioned throughput.

", - "UpdateProvisionedModelThroughputRequest$provisionedModelId": "

The ARN or name of the provisioned throughput to update.

" + "DeleteProvisionedModelThroughputRequest$provisionedModelId": "

The Amazon Resource Name (ARN) or name of the Provisioned Throughput.

", + "GetProvisionedModelThroughputRequest$provisionedModelId": "

The Amazon Resource Name (ARN) or name of the Provisioned Throughput.

", + "UpdateProvisionedModelThroughputRequest$provisionedModelId": "

The Amazon Resource Name (ARN) or name of the Provisioned Throughput to update.

" } }, "ProvisionedModelName": { "base": null, "refs": { - "CreateProvisionedModelThroughputRequest$provisionedModelName": "

Unique name for this provisioned throughput.

", - "GetProvisionedModelThroughputResponse$provisionedModelName": "

The name of the provisioned throughput.

", - "ListProvisionedModelThroughputsRequest$nameContains": "

Return the list of provisioned capacities if their name contains these characters.

", - "ProvisionedModelSummary$provisionedModelName": "

The name of the provisioned throughput.

", - "UpdateProvisionedModelThroughputRequest$desiredProvisionedModelName": "

The new name for this provisioned throughput.

" + "CreateProvisionedModelThroughputRequest$provisionedModelName": "

The name for this Provisioned Throughput.

", + "GetProvisionedModelThroughputResponse$provisionedModelName": "

The name of the Provisioned Throughput.

", + "ListProvisionedModelThroughputsRequest$nameContains": "

A filter that returns Provisioned Throughputs if their name contains the expression that you specify.

", + "ProvisionedModelSummary$provisionedModelName": "

The name of the Provisioned Throughput.

", + "UpdateProvisionedModelThroughputRequest$desiredProvisionedModelName": "

The new name for this Provisioned Throughput.

" } }, "ProvisionedModelStatus": { "base": null, "refs": { - "GetProvisionedModelThroughputResponse$status": "

Status of the provisioned throughput.

", - "ListProvisionedModelThroughputsRequest$statusEquals": "

Return the list of provisioned capacities that match the specified status.

", - "ProvisionedModelSummary$status": "

Status of the provisioned throughput.

" + "GetProvisionedModelThroughputResponse$status": "

The status of the Provisioned Throughput.

", + "ListProvisionedModelThroughputsRequest$statusEquals": "

A filter that returns Provisioned Throughputs if their statuses matches the value that you specify.

", + "ProvisionedModelSummary$status": "

The status of the Provisioned Throughput.

" } }, "ProvisionedModelSummaries": { "base": null, "refs": { - "ListProvisionedModelThroughputsResponse$provisionedModelSummaries": "

List of summaries, one for each provisioned throughput in the response.

" + "ListProvisionedModelThroughputsResponse$provisionedModelSummaries": "

A list of summaries, one for each Provisioned Throughput in the response.

" } }, "ProvisionedModelSummary": { - "base": "

Set of fields associated with a provisioned throughput.

", + "base": "

A summary of information about a Provisioned Throughput.

This data type is used in the following API operations:

", "refs": { "ProvisionedModelSummaries$member": null } @@ -625,16 +1398,18 @@ } }, "ResourceNotFoundException": { - "base": "

The specified resource ARN was not found. Check the ARN and try your request again.

", + "base": "

The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again.

", "refs": { } }, "RoleArn": { "base": null, "refs": { - "CloudWatchConfig$roleArn": "

The role ARN.

", - "CreateModelCustomizationJobRequest$roleArn": "

The Amazon Resource Name (ARN) of an IAM role that Amazon Bedrock can assume to perform tasks on your behalf. For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission.

", - "GetModelCustomizationJobResponse$roleArn": "

The ARN of the IAM role.

" + "CloudWatchConfig$roleArn": "

The role Amazon Resource Name (ARN).

", + "CreateEvaluationJobRequest$roleArn": "

The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. The service role must have Amazon Bedrock as the service principal, and provide access to any Amazon S3 buckets specified in the EvaluationConfig object. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission. To learn more about the required permissions, see Required permissions.

", + "CreateModelCustomizationJobRequest$roleArn": "

The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock can assume to perform tasks on your behalf. For example, during model training, Amazon Bedrock needs your permission to read input data from an S3 bucket, write model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, the caller of this API must have the iam:PassRole permission.

", + "GetEvaluationJobResponse$roleArn": "

The Amazon Resource Name (ARN) of the IAM service role used in the model evaluation job.

", + "GetModelCustomizationJobResponse$roleArn": "

The Amazon Resource Name (ARN) of the IAM role.

" } }, "S3Config": { @@ -647,11 +1422,19 @@ "S3Uri": { "base": null, "refs": { + "EvaluationDatasetLocation$s3Uri": "

The S3 URI of the S3 bucket specified in the job.

", + "EvaluationOutputDataConfig$s3Uri": "

The Amazon S3 URI where the results of model evaluation job are saved.

", "OutputDataConfig$s3Uri": "

The S3 URI where the output data is stored.

", "TrainingDataConfig$s3Uri": "

The S3 URI where the training data is stored.

", "Validator$s3Uri": "

The S3 URI where the validation data is stored.

" } }, + "SageMakerFlowDefinitionArn": { + "base": null, + "refs": { + "HumanWorkflowConfig$flowDefinitionArn": "

The Amazon Resource Number (ARN) for the flow definition

" + } + }, "SecurityGroupId": { "base": null, "refs": { @@ -672,12 +1455,13 @@ "SortByProvisionedModels": { "base": null, "refs": { - "ListProvisionedModelThroughputsRequest$sortBy": "

The field to sort by in the returned list of provisioned capacities.

" + "ListProvisionedModelThroughputsRequest$sortBy": "

The field by which to sort the returned list of Provisioned Throughputs.

" } }, "SortJobsBy": { "base": null, "refs": { + "ListEvaluationJobsRequest$sortBy": "

Allows you to sort model evaluation jobs by when they were created.

", "ListModelCustomizationJobsRequest$sortBy": "

The field to sort by in the returned list of jobs.

" } }, @@ -691,10 +1475,21 @@ "base": null, "refs": { "ListCustomModelsRequest$sortOrder": "

The sort order of the results.

", + "ListEvaluationJobsRequest$sortOrder": "

How you want the order of jobs sorted.

", "ListModelCustomizationJobsRequest$sortOrder": "

The sort order of the results.

", "ListProvisionedModelThroughputsRequest$sortOrder": "

The sort order of the results.

" } }, + "StopEvaluationJobRequest": { + "base": null, + "refs": { + } + }, + "StopEvaluationJobResponse": { + "base": null, + "refs": { + } + }, "StopModelCustomizationJobRequest": { "base": null, "refs": { @@ -746,9 +1541,11 @@ "TagList": { "base": null, "refs": { - "CreateModelCustomizationJobRequest$jobTags": "

Assign tags to the job.

", - "CreateModelCustomizationJobRequest$customModelTags": "

Assign tags to the custom model.

", - "CreateProvisionedModelThroughputRequest$tags": "

Tags to associate with this provisioned throughput.

", + "CreateEvaluationJobRequest$jobTags": "

Tags to attach to the model evaluation job.

", + "CreateGuardrailRequest$tags": "

The tags that you want to attach to the guardrail.

", + "CreateModelCustomizationJobRequest$jobTags": "

Tags to attach to the job.

", + "CreateModelCustomizationJobRequest$customModelTags": "

Tags to attach to the resulting custom model.

", + "CreateProvisionedModelThroughputRequest$tags": "

Tags to associate with this Provisioned Throughput.

", "ListTagsForResourceResponse$tags": "

An array of the tags associated with this resource.

", "TagResourceRequest$tags": "

Tags to associate with the resource.

" } @@ -772,10 +1569,10 @@ "TaggableResourcesArn": { "base": null, "refs": { - "ListTagsForResourceRequest$resourceARN": "

The ARN of the resource.

", - "TagResourceRequest$resourceARN": "

The ARN of the resource to tag.

", + "ListTagsForResourceRequest$resourceARN": "

The Amazon Resource Name (ARN) of the resource.

", + "TagResourceRequest$resourceARN": "

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

", "TooManyTagsException$resourceName": "

The name of the resource with too many tags.

", - "UntagResourceRequest$resourceARN": "

The ARN of the resource to untag.

" + "UntagResourceRequest$resourceARN": "

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

" } }, "ThrottlingException": { @@ -786,26 +1583,37 @@ "Timestamp": { "base": null, "refs": { + "CreateGuardrailResponse$createdAt": "

The time at which the guardrail was created.

", "CustomModelSummary$creationTime": "

Creation time of the model.

", + "EvaluationSummary$creationTime": "

When the model evaluation job was created.

", "GetCustomModelResponse$creationTime": "

Creation time of the model.

", + "GetEvaluationJobResponse$creationTime": "

When the model evaluation job was created.

", + "GetEvaluationJobResponse$lastModifiedTime": "

When the model evaluation job was last modified.

", + "GetGuardrailResponse$createdAt": "

The date and time at which the guardrail was created.

", + "GetGuardrailResponse$updatedAt": "

The date and time at which the guardrail was updated.

", "GetModelCustomizationJobResponse$creationTime": "

Time that the resource was created.

", "GetModelCustomizationJobResponse$lastModifiedTime": "

Time that the resource was last modified.

", "GetModelCustomizationJobResponse$endTime": "

Time that the resource transitioned to terminal state.

", - "GetProvisionedModelThroughputResponse$creationTime": "

The timestamp of the creation time for this provisioned throughput.

", - "GetProvisionedModelThroughputResponse$lastModifiedTime": "

The timestamp of the last modified time of this provisioned throughput.

", - "GetProvisionedModelThroughputResponse$commitmentExpirationTime": "

Commitment expiration time for the provisioned throughput.

", + "GetProvisionedModelThroughputResponse$creationTime": "

The timestamp of the creation time for this Provisioned Throughput.

", + "GetProvisionedModelThroughputResponse$lastModifiedTime": "

The timestamp of the last time that this Provisioned Throughput was modified.

", + "GetProvisionedModelThroughputResponse$commitmentExpirationTime": "

The timestamp for when the commitment term for the Provisioned Throughput expires.

", + "GuardrailSummary$createdAt": "

The date and time at which the guardrail was created.

", + "GuardrailSummary$updatedAt": "

The date and time at which the guardrail was last updated.

", "ListCustomModelsRequest$creationTimeBefore": "

Return custom models created before the specified time.

", "ListCustomModelsRequest$creationTimeAfter": "

Return custom models created after the specified time.

", + "ListEvaluationJobsRequest$creationTimeAfter": "

A filter that includes model evaluation jobs created after the time specified.

", + "ListEvaluationJobsRequest$creationTimeBefore": "

A filter that includes model evaluation jobs created prior to the time specified.

", "ListModelCustomizationJobsRequest$creationTimeAfter": "

Return customization jobs created after the specified time.

", "ListModelCustomizationJobsRequest$creationTimeBefore": "

Return customization jobs created before the specified time.

", - "ListProvisionedModelThroughputsRequest$creationTimeAfter": "

Return provisioned capacities created after the specified time.

", - "ListProvisionedModelThroughputsRequest$creationTimeBefore": "

Return provisioned capacities created before the specified time.

", + "ListProvisionedModelThroughputsRequest$creationTimeAfter": "

A filter that returns Provisioned Throughputs created after the specified time.

", + "ListProvisionedModelThroughputsRequest$creationTimeBefore": "

A filter that returns Provisioned Throughputs created before the specified time.

", "ModelCustomizationJobSummary$lastModifiedTime": "

Time that the customization job was last modified.

", "ModelCustomizationJobSummary$creationTime": "

Creation time of the custom model.

", "ModelCustomizationJobSummary$endTime": "

Time that the customization job ended.

", - "ProvisionedModelSummary$commitmentExpirationTime": "

Commitment expiration time for the provisioned throughput.

", - "ProvisionedModelSummary$creationTime": "

The time that this provisioned throughput was created.

", - "ProvisionedModelSummary$lastModifiedTime": "

The time that this provisioned throughput was last modified.

" + "ProvisionedModelSummary$commitmentExpirationTime": "

The timestamp for when the commitment term of the Provisioned Throughput expires.

", + "ProvisionedModelSummary$creationTime": "

The time that the Provisioned Throughput was created.

", + "ProvisionedModelSummary$lastModifiedTime": "

The time that the Provisioned Throughput was last modified.

", + "UpdateGuardrailResponse$updatedAt": "

The date and time at which the guardrail was updated.

" } }, "TooManyTagsException": { @@ -817,15 +1625,15 @@ "base": "

S3 Location of the training data.

", "refs": { "CreateModelCustomizationJobRequest$trainingDataConfig": "

Information about the training dataset.

", - "GetCustomModelResponse$trainingDataConfig": "

Information about the training dataset.

", - "GetModelCustomizationJobResponse$trainingDataConfig": null + "GetCustomModelResponse$trainingDataConfig": "

Contains information about the training dataset.

", + "GetModelCustomizationJobResponse$trainingDataConfig": "

Contains information about the training dataset.

" } }, "TrainingMetrics": { "base": "

Metrics associated with the custom job.

", "refs": { - "GetCustomModelResponse$trainingMetrics": "

The training metrics from the job creation.

", - "GetModelCustomizationJobResponse$trainingMetrics": null + "GetCustomModelResponse$trainingMetrics": "

Contains training metrics from the job creation.

", + "GetModelCustomizationJobResponse$trainingMetrics": "

Contains training metrics from the job creation.

" } }, "UntagResourceRequest": { @@ -838,6 +1646,16 @@ "refs": { } }, + "UpdateGuardrailRequest": { + "base": null, + "refs": { + } + }, + "UpdateGuardrailResponse": { + "base": null, + "refs": { + } + }, "UpdateProvisionedModelThroughputRequest": { "base": null, "refs": { @@ -852,8 +1670,8 @@ "base": "

Array of up to 10 validators.

", "refs": { "CreateModelCustomizationJobRequest$validationDataConfig": "

Information about the validation dataset.

", - "GetCustomModelResponse$validationDataConfig": null, - "GetModelCustomizationJobResponse$validationDataConfig": null + "GetCustomModelResponse$validationDataConfig": "

Contains information about the validation dataset.

", + "GetModelCustomizationJobResponse$validationDataConfig": "

Contains information about the validation dataset.

" } }, "ValidationException": { diff --git a/models/apis/bedrock/2023-04-20/paginators-1.json b/models/apis/bedrock/2023-04-20/paginators-1.json index e8b0ae033ec..8f920eff6d1 100644 --- a/models/apis/bedrock/2023-04-20/paginators-1.json +++ b/models/apis/bedrock/2023-04-20/paginators-1.json @@ -6,6 +6,18 @@ "limit_key": "maxResults", "result_key": "modelSummaries" }, + "ListEvaluationJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "jobSummaries" + }, + "ListGuardrails": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "guardrails" + }, "ListModelCustomizationJobs": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/ce/2017-10-25/api-2.json b/models/apis/ce/2017-10-25/api-2.json index efdaf3944e6..3f366180e4d 100644 --- a/models/apis/ce/2017-10-25/api-2.json +++ b/models/apis/ce/2017-10-25/api-2.json @@ -2448,7 +2448,8 @@ "type":"structure", "members":{ "RecommendationId":{"shape":"GenericString"}, - "GenerationTimestamp":{"shape":"GenericString"} + "GenerationTimestamp":{"shape":"GenericString"}, + "AdditionalMetadata":{"shape":"GenericString"} } }, "ReservationPurchaseRecommendationSummary":{ diff --git a/models/apis/ce/2017-10-25/docs-2.json b/models/apis/ce/2017-10-25/docs-2.json index 74970522c56..e3050c3f9f5 100644 --- a/models/apis/ce/2017-10-25/docs-2.json +++ b/models/apis/ce/2017-10-25/docs-2.json @@ -14,7 +14,7 @@ "GetAnomalySubscriptions": "

Retrieves the cost anomaly subscription objects for your account. You can filter using a list of cost anomaly monitor Amazon Resource Names (ARNs).

", "GetApproximateUsageRecords": "

Retrieves estimated usage records for hourly granularity or resource-level data at daily granularity.

", "GetCostAndUsage": "

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric that you want the request to return. For example, you can specify BlendedCosts or UsageQuantity. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts.

For information about filter limitations, see Quotas and restrictions in the Billing and Cost Management User Guide.

", - "GetCostAndUsageWithResources": "

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information about how to access the Settings page, see Controlling Access for Cost Explorer in the Billing and Cost Management User Guide.

", + "GetCostAndUsageWithResources": "

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Management account in an organization in Organizations have access to all member accounts.

Hourly granularity is only available for EC2-Instances (Elastic Compute Cloud) resource-level data. All other resource-level data is available at daily granularity.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information about how to access the Settings page, see Controlling Access for Cost Explorer in the Billing and Cost Management User Guide.

", "GetCostCategories": "

Retrieves an array of Cost Category names and values incurred cost.

If some Cost Category names and values are not associated with any cost, they will not be returned by this API.

", "GetCostForecast": "

Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs.

", "GetDimensionValues": "

Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string.

", @@ -957,14 +957,15 @@ "ReservationPurchaseRecommendationDetail$EstimatedReservationCostForLookbackPeriod": "

How much Amazon Web Services estimates that you might spend for all usage during the specified historical period if you had a reservation.

", "ReservationPurchaseRecommendationDetail$UpfrontCost": "

How much purchasing this instance costs you upfront.

", "ReservationPurchaseRecommendationDetail$RecurringStandardMonthlyCost": "

How much purchasing this instance costs you on a monthly basis.

", - "ReservationPurchaseRecommendationMetadata$RecommendationId": "

The ID for this specific recommendation.

", - "ReservationPurchaseRecommendationMetadata$GenerationTimestamp": "

The timestamp for when Amazon Web Services made this recommendation.

", + "ReservationPurchaseRecommendationMetadata$RecommendationId": "

The ID for the recommendation.

", + "ReservationPurchaseRecommendationMetadata$GenerationTimestamp": "

The timestamp for when Amazon Web Services made the recommendation.

", + "ReservationPurchaseRecommendationMetadata$AdditionalMetadata": "

Additional metadata that might be applicable to the recommendation.

", "ReservationPurchaseRecommendationSummary$TotalEstimatedMonthlySavingsAmount": "

The total amount that Amazon Web Services estimates that this recommendation could save you in a month.

", "ReservationPurchaseRecommendationSummary$TotalEstimatedMonthlySavingsPercentage": "

The total amount that Amazon Web Services estimates that this recommendation could save you in a month, as a percentage of your costs.

", "ReservationPurchaseRecommendationSummary$CurrencyCode": "

The currency code used for this recommendation.

", "RightsizingRecommendation$AccountId": "

The account that this recommendation is for.

", - "RightsizingRecommendationMetadata$RecommendationId": "

The ID for this specific recommendation.

", - "RightsizingRecommendationMetadata$GenerationTimestamp": "

The timestamp for when Amazon Web Services made this recommendation.

", + "RightsizingRecommendationMetadata$RecommendationId": "

The ID for the recommendation.

", + "RightsizingRecommendationMetadata$GenerationTimestamp": "

The timestamp for when Amazon Web Services made the recommendation.

", "RightsizingRecommendationMetadata$AdditionalMetadata": "

Additional metadata that might be applicable to the recommendation.

", "RightsizingRecommendationSummary$TotalRecommendationCount": "

The total number of instance recommendations.

", "RightsizingRecommendationSummary$EstimatedTotalMonthlySavingsAmount": "

The estimated total savings resulting from modifications, on a monthly basis.

", @@ -1382,7 +1383,7 @@ "GetSavingsPlansPurchaseRecommendationRequest$LookbackPeriodInDays": "

The lookback period that's used to generate the recommendation.

", "RecommendationDetailData$LookbackPeriodInDays": "

How many days of previous usage that Amazon Web Services considers when making this recommendation.

", "ReservationPurchaseRecommendation$LookbackPeriodInDays": "

How many days of previous usage that Amazon Web Services considers when making this recommendation.

", - "RightsizingRecommendationMetadata$LookbackPeriodInDays": "

The number of days of previous usage that Amazon Web Services considers when making this recommendation.

", + "RightsizingRecommendationMetadata$LookbackPeriodInDays": "

The number of days of previous usage that Amazon Web Services considers when making the recommendation.

", "SavingsPlansPurchaseRecommendation$LookbackPeriodInDays": "

The lookback period in days that's used to generate the recommendation.

" } }, @@ -1803,7 +1804,7 @@ } }, "ReservationPurchaseRecommendationMetadata": { - "base": "

Information about this specific recommendation, such as the timestamp for when Amazon Web Services made a specific recommendation.

", + "base": "

Information about a recommendation, such as the timestamp for when Amazon Web Services made a specific recommendation.

", "refs": { "GetReservationPurchaseRecommendationResponse$Metadata": "

Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

" } @@ -1931,7 +1932,7 @@ } }, "RightsizingRecommendationMetadata": { - "base": "

Metadata for this recommendation set.

", + "base": "

Metadata for a recommendation set.

", "refs": { "GetRightsizingRecommendationResponse$Metadata": "

Information regarding this specific recommendation set.

" } diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 0aaa1b04249..4d6037c7485 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -3429,6 +3429,15 @@ "input":{"shape":"DisableImageDeprecationRequest"}, "output":{"shape":"DisableImageDeprecationResult"} }, + "DisableImageDeregistrationProtection":{ + "name":"DisableImageDeregistrationProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableImageDeregistrationProtectionRequest"}, + "output":{"shape":"DisableImageDeregistrationProtectionResult"} + }, "DisableIpamOrganizationAdminAccount":{ "name":"DisableIpamOrganizationAdminAccount", "http":{ @@ -3696,6 +3705,15 @@ "input":{"shape":"EnableImageDeprecationRequest"}, "output":{"shape":"EnableImageDeprecationResult"} }, + "EnableImageDeregistrationProtection":{ + "name":"EnableImageDeregistrationProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableImageDeregistrationProtectionRequest"}, + "output":{"shape":"EnableImageDeregistrationProtectionResult"} + }, "EnableIpamOrganizationAdminAccount":{ "name":"EnableIpamOrganizationAdminAccount", "http":{ @@ -20081,6 +20099,23 @@ } } }, + "DisableImageDeregistrationProtectionRequest":{ + "type":"structure", + "required":["ImageId"], + "members":{ + "ImageId":{"shape":"ImageId"}, + "DryRun":{"shape":"Boolean"} + } + }, + "DisableImageDeregistrationProtectionResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"String", + "locationName":"return" + } + } + }, "DisableImageRequest":{ "type":"structure", "required":["ImageId"], @@ -21518,6 +21553,24 @@ } } }, + "EnableImageDeregistrationProtectionRequest":{ + "type":"structure", + "required":["ImageId"], + "members":{ + "ImageId":{"shape":"ImageId"}, + "WithCooldown":{"shape":"Boolean"}, + "DryRun":{"shape":"Boolean"} + } + }, + "EnableImageDeregistrationProtectionResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"String", + "locationName":"return" + } + } + }, "EnableImageRequest":{ "type":"structure", "required":["ImageId"], @@ -25310,6 +25363,14 @@ "SourceInstanceId":{ "shape":"String", "locationName":"sourceInstanceId" + }, + "DeregistrationProtection":{ + "shape":"String", + "locationName":"deregistrationProtection" + }, + "LastLaunchedTime":{ + "shape":"String", + "locationName":"lastLaunchedTime" } } }, @@ -25367,6 +25428,10 @@ "ImdsSupport":{ "shape":"AttributeValue", "locationName":"imdsSupport" + }, + "DeregistrationProtection":{ + "shape":"AttributeValue", + "locationName":"deregistrationProtection" } } }, @@ -25384,7 +25449,8 @@ "tpmSupport", "uefiData", "lastLaunchedTime", - "imdsSupport" + "imdsSupport", + "deregistrationProtection" ] }, "ImageBlockPublicAccessDisabledState":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 98a07cfcdcb..d8ddbf659f0 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -67,7 +67,7 @@ "CreateCustomerGateway": "

Provides information to Amazon Web Services about your customer gateway device. The customer gateway device is the appliance at your end of the VPN connection. You must provide the IP address of the customer gateway device’s external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN. For more information, see Customer gateway options for your Site-to-Site VPN connection in the Amazon Web Services Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. An identical request returns information about the existing customer gateway; it doesn't create a new customer gateway.

", "CreateDefaultSubnet": "

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

", "CreateDefaultVpc": "

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPCs in the Amazon VPC User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

", - "CreateDhcpOptions": "

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

", + "CreateDhcpOptions": "

Creates a custom set of DHCP options. After you create a DHCP option set, you associate it with a VPC. After you associate a DHCP option set with a VPC, all existing and newly launched instances in the VPC use this set of DHCP options.

The following are the individual DHCP options you can specify. For more information, see DHCP options sets in the Amazon VPC User Guide.

", "CreateEgressOnlyInternetGateway": "

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

", "CreateFleet": "

Creates an EC2 Fleet that contains the configuration information for On-Demand Instances and Spot Instances. Instances are launched immediately if there is available capacity.

A single EC2 Fleet can include multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see EC2 Fleet in the Amazon EC2 User Guide.

", "CreateFlowLogs": "

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

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

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

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

", @@ -82,8 +82,8 @@ "CreateIpamResourceDiscovery": "

Creates an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account.

", "CreateIpamScope": "

Create an IPAM scope. In IPAM, a scope is the highest-level container within IPAM. An IPAM contains two default scopes. Each scope represents the IP space for a single network. The private scope is intended for all private IP address space. The public scope is intended for all public IP address space. Scopes enable you to reuse IP addresses across multiple unconnected networks without causing IP address overlap or conflict.

For more information, see Add a scope in the Amazon VPC IPAM User Guide.

", "CreateKeyPair": "

Creates an ED25519 or 2048-bit RSA key pair with the specified name and in the specified PEM or PPK format. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key or an unencrypted PPK formatted private key for use with PuTTY. If a key with the specified name already exists, Amazon EC2 returns an error.

The key pair returned to you is available only in the Amazon Web Services Region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any Region using ImportKeyPair.

You can have up to 5,000 key pairs per Amazon Web Services Region.

For more information, see Amazon EC2 key pairs in the Amazon Elastic Compute Cloud User Guide.

", - "CreateLaunchTemplate": "

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

If you want to clone an existing launch template as the basis for creating a new launch template, you can use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

", - "CreateLaunchTemplateVersion": "

Creates a new version of a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes any changes you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

", + "CreateLaunchTemplate": "

Creates a launch template.

A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launch an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

To clone an existing launch template as the basis for a new launch template, use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning a template. For more information, see Create a launch template from an existing launch template in the Amazon Elastic Compute Cloud User Guide.

", + "CreateLaunchTemplateVersion": "

Creates a new version of a launch template. You must specify an existing launch template, either by name or ID. You can determine whether the new version inherits parameters from a source version, and add or overwrite parameters as needed.

Launch template versions are numbered in the order in which they are created. You can't specify, change, or replace the numbering of launch template versions.

Launch templates are immutable; after you create a launch template, you can't modify it. Instead, you can create a new version of the launch template that includes the changes that you require.

For more information, see Modify a launch template (manage launch template versions) in the Amazon Elastic Compute Cloud User Guide.

", "CreateLocalGatewayRoute": "

Creates a static route for the specified local gateway route table. You must specify one of the following targets:

", "CreateLocalGatewayRouteTable": "

Creates a local gateway route table.

", "CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation": "

Creates a local gateway route table virtual interface group association.

", @@ -263,7 +263,7 @@ "DescribeIdFormat": "

Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire Amazon Web Services account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

", "DescribeIdentityIdFormat": "

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

", "DescribeImageAttribute": "

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", - "DescribeImages": "

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", + "DescribeImages": "

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other Amazon Web Services accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image will eventually return an error indicating that the AMI ID cannot be found.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", "DescribeImportImageTasks": "

Displays details about an import virtual machine or import snapshot tasks that are already created.

", "DescribeImportSnapshotTasks": "

Describes your import snapshot tasks.

", "DescribeInstanceAttribute": "

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

", @@ -275,7 +275,7 @@ "DescribeInstanceTopology": "

Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads.

Limitations

For more information, see Amazon EC2 instance topology in the Amazon EC2 User Guide.

", "DescribeInstanceTypeOfferings": "

Lists the instance types that are offered for the specified location. If no location is specified, the default is to list the instance types that are offered in the current Region.

", "DescribeInstanceTypes": "

Describes the specified instance types. By default, all instance types for the current Region are described. Alternatively, you can filter the results.

", - "DescribeInstances": "

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", + "DescribeInstances": "

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", "DescribeInternetGateways": "

Describes one or more of your internet gateways.

", "DescribeIpamByoasn": "

Describes your Autonomous System Numbers (ASNs), their provisioning statuses, and the BYOIP CIDRs with which they are associated. For more information, see Tutorial: Bring your ASN to IPAM in the Amazon VPC IPAM guide.

", "DescribeIpamPools": "

Get information about your IPAM pools.

", @@ -305,7 +305,7 @@ "DescribeNetworkInsightsPaths": "

Describes one or more of your paths.

", "DescribeNetworkInterfaceAttribute": "

Describes a network interface attribute. You can specify only one attribute at a time.

", "DescribeNetworkInterfacePermissions": "

Describes the permissions for your network interfaces.

", - "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

", + "DescribeNetworkInterfaces": "

Describes one or more of your network interfaces.

If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: group-id, mac-address, private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

", "DescribePlacementGroups": "

Describes the specified placement groups or all of your placement groups. For more information, see Placement groups in the Amazon EC2 User Guide.

", "DescribePrefixLists": "

Describes available Amazon Web Services services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service.

We recommend that you use DescribeManagedPrefixLists instead.

", "DescribePrincipalIdFormat": "

Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference.

By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they explicitly override the settings. This request is useful for identifying those IAM users and IAM roles that have overridden the default ID settings.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

", @@ -324,7 +324,7 @@ "DescribeSecurityGroups": "

Describes the specified security groups or all of your security groups.

", "DescribeSnapshotAttribute": "

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

", "DescribeSnapshotTierStatus": "

Describes the storage tier status of one or more Amazon EBS snapshots.

", - "DescribeSnapshots": "

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

", + "DescribeSnapshots": "

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other Amazon Web Services accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or Amazon Web Services accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the Amazon Web Services account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify Amazon Web Services account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS snapshots in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

", "DescribeSpotDatafeedSubscription": "

Describes the data feed for Spot Instances. For more information, see Spot Instance data feed in the Amazon EC2 User Guide for Linux Instances.

", "DescribeSpotFleetInstances": "

Describes the running instances for the specified Spot Fleet.

", "DescribeSpotFleetRequestHistory": "

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours.

For more information, see Monitor fleet events using Amazon EventBridge in the Amazon EC2 User Guide.

", @@ -334,7 +334,7 @@ "DescribeStaleSecurityGroups": "

Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in the same VPC or peered VPC. Rules can also be stale if they reference a security group in a peer VPC for which the VPC peering connection has been deleted.

", "DescribeStoreImageTasks": "

Describes the progress of the AMI store tasks. You can describe the store tasks for specified AMIs. If you don't specify the AMIs, you get a paginated list of store tasks from the last 31 days.

For each AMI task, the response indicates if the task is InProgress, Completed, or Failed. For tasks InProgress, the response shows the estimated progress as a percentage.

Tasks are listed in reverse chronological order. Currently, only tasks from the past 31 days can be viewed.

To use this API, you must have the required permissions. For more information, see Permissions for storing and restoring AMIs using Amazon S3 in the Amazon EC2 User Guide.

For more information, see Store and restore an AMI using Amazon S3 in the Amazon EC2 User Guide.

", "DescribeSubnets": "

Describes one or more of your subnets.

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

", - "DescribeTags": "

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", + "DescribeTags": "

Describes the specified tags for your EC2 resources.

For more information about tags, see Tag your Amazon EC2 resources in the Amazon Elastic Compute Cloud User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", "DescribeTrafficMirrorFilters": "

Describes one or more Traffic Mirror filters.

", "DescribeTrafficMirrorSessions": "

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

", "DescribeTrafficMirrorTargets": "

Information about one or more Traffic Mirror targets.

", @@ -356,7 +356,7 @@ "DescribeVerifiedAccessTrustProviders": "

Describes the specified Amazon Web Services Verified Access trust providers.

", "DescribeVolumeAttribute": "

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

", "DescribeVolumeStatus": "

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks might still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitor the status of your volumes in the Amazon EBS User Guide.

Events: Reflect the cause of a volume status and might require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and might have inconsistent data.

Actions: Reflect the actions you might have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", - "DescribeVolumes": "

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", + "DescribeVolumes": "

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, we recommend that you paginate the output to make the list more manageable. For more information, see Pagination.

For more information about EBS volumes, see Amazon EBS volumes in the Amazon EBS User Guide.

We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.

The order of the elements in the response, including those within nested structures, might vary. Applications should not assume the elements appear in a particular order.

", "DescribeVolumesModifications": "

Describes the most recent volume modification request for the specified EBS volumes.

If a volume has never been modified, some information in the output will be null. If a volume has been modified more than once, the output includes only the most recent modification request.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitor the progress of volume modifications in the Amazon EBS User Guide.

", "DescribeVpcAttribute": "

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

", "DescribeVpcClassicLink": "

This action is deprecated.

Describes the ClassicLink status of the specified VPCs.

", @@ -385,6 +385,7 @@ "DisableImage": "

Sets the AMI state to disabled and removes all launch permissions from the AMI. A disabled AMI can't be used for instance launches.

A disabled AMI can't be shared. If an AMI was public or previously shared, it is made private. If an AMI was shared with an Amazon Web Services account, organization, or Organizational Unit, they lose access to the disabled AMI.

A disabled AMI does not appear in DescribeImages API calls by default.

Only the AMI owner can disable an AMI.

You can re-enable a disabled AMI using EnableImage.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

", "DisableImageBlockPublicAccess": "

Disables block public access for AMIs at the account level in the specified Amazon Web Services Region. This removes the block public access restriction from your account. With the restriction removed, you can publicly share your AMIs in the specified Amazon Web Services Region.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be block-new-sharing. When the API has completed the configuration, the response will be unblocked.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

", "DisableImageDeprecation": "

Cancels the deprecation of the specified AMI.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

", + "DisableImageDeregistrationProtection": "

Disables deregistration protection for an AMI. When deregistration protection is disabled, the AMI can be deregistered.

If you chose to include a 24-hour cooldown period when you enabled deregistration protection for the AMI, then, when you disable deregistration protection, you won’t immediately be able to deregister the AMI.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

", "DisableIpamOrganizationAdminAccount": "

Disable the IPAM account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

", "DisableSerialConsoleAccess": "

Disables access to the EC2 serial console of all instances for your account. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

", "DisableSnapshotBlockPublicAccess": "

Disables the block public access for snapshots setting at the account level for the specified Amazon Web Services Region. After you disable block public access for snapshots in a Region, users can publicly share snapshots in that Region.

If block public access is enabled in block-all-sharing mode, and you disable block public access, all snapshots that were previously publicly shared are no longer treated as private and they become publicly accessible again.

For more information, see Block public access for snapshots in the Amazon EBS User Guide .

", @@ -415,6 +416,7 @@ "EnableImage": "

Re-enables a disabled AMI. The re-enabled AMI is marked as available and can be used for instance launches, appears in describe operations, and can be shared. Amazon Web Services accounts, organizations, and Organizational Units that lost access to the AMI when it was disabled do not regain access automatically. Once the AMI is available, it can be shared with them again.

Only the AMI owner can re-enable a disabled AMI.

For more information, see Disable an AMI in the Amazon EC2 User Guide.

", "EnableImageBlockPublicAccess": "

Enables block public access for AMIs at the account level in the specified Amazon Web Services Region. This prevents the public sharing of your AMIs. However, if you already have public AMIs, they will remain publicly available.

The API can take up to 10 minutes to configure this setting. During this time, if you run GetImageBlockPublicAccessState, the response will be unblocked. When the API has completed the configuration, the response will be block-new-sharing.

For more information, see Block public access to your AMIs in the Amazon EC2 User Guide.

", "EnableImageDeprecation": "

Enables deprecation of the specified AMI at the specified date and time.

For more information, see Deprecate an AMI in the Amazon EC2 User Guide.

", + "EnableImageDeregistrationProtection": "

Enables deregistration protection for an AMI. When deregistration protection is enabled, the AMI can't be deregistered.

To allow the AMI to be deregistered, you must first disable deregistration protection using DisableImageDeregistrationProtection.

For more information, see Protect an AMI from deregistration in the Amazon EC2 User Guide.

", "EnableIpamOrganizationAdminAccount": "

Enable an Organizations member account as the IPAM admin account. You cannot select the Organizations management account as the IPAM admin account. For more information, see Enable integration with Organizations in the Amazon VPC IPAM User Guide.

", "EnableReachabilityAnalyzerOrganizationSharing": "

Establishes a trust relationship between Reachability Analyzer and Organizations. This operation must be performed by the management account for the organization.

After you establish a trust relationship, a user in the management account or a delegated administrator account can run a cross-account analysis using resources from the member accounts.

", "EnableSerialConsoleAccess": "

Enables access to the EC2 serial console of all instances for your account. By default, access to the EC2 serial console is disabled for your account. For more information, see Manage account access to the EC2 serial console in the Amazon EC2 User Guide.

", @@ -1688,6 +1690,7 @@ "ImageAttribute$UefiData": "

Base64 representation of the non-volatile UEFI variable store. To retrieve the UEFI data, use the GetInstanceUefiData command. You can inspect and modify the UEFI data by using the python-uefivars tool on GitHub. For more information, see UEFI Secure Boot in the Amazon EC2 User Guide.

", "ImageAttribute$LastLaunchedTime": "

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

", "ImageAttribute$ImdsSupport": "

If v2.0, it indicates that IMDSv2 is specified in the AMI. Instances launched from this AMI will have HttpTokens automatically set to required so that, by default, the instance requires that IMDSv2 is used when requesting instance metadata. In addition, HttpPutResponseHopLimit is set to 2. For more information, see Configure the AMI in the Amazon EC2 User Guide.

", + "ImageAttribute$DeregistrationProtection": "

Indicates whether deregistration protection is enabled for the AMI.

", "InstanceAttribute$InstanceInitiatedShutdownBehavior": "

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", "InstanceAttribute$InstanceType": "

The instance type.

", "InstanceAttribute$KernelId": "

The kernel ID.

", @@ -2402,6 +2405,7 @@ "DisableImageBlockPublicAccessRequest$DryRun": "

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

", "DisableImageDeprecationRequest$DryRun": "

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

", "DisableImageDeprecationResult$Return": "

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

", + "DisableImageDeregistrationProtectionRequest$DryRun": "

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

", "DisableImageRequest$DryRun": "

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

", "DisableImageResult$Return": "

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

", "DisableIpamOrganizationAdminAccountRequest$DryRun": "

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

", @@ -2450,6 +2454,8 @@ "EnableImageBlockPublicAccessRequest$DryRun": "

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

", "EnableImageDeprecationRequest$DryRun": "

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

", "EnableImageDeprecationResult$Return": "

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

", + "EnableImageDeregistrationProtectionRequest$WithCooldown": "

If true, enforces deregistration protection for 24 hours after deregistration protection is disabled.

", + "EnableImageDeregistrationProtectionRequest$DryRun": "

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

", "EnableImageRequest$DryRun": "

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

", "EnableImageResult$Return": "

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

", "EnableIpamOrganizationAdminAccountRequest$DryRun": "

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

", @@ -8183,6 +8189,16 @@ "refs": { } }, + "DisableImageDeregistrationProtectionRequest": { + "base": null, + "refs": { + } + }, + "DisableImageDeregistrationProtectionResult": { + "base": null, + "refs": { + } + }, "DisableImageRequest": { "base": null, "refs": { @@ -8987,6 +9003,16 @@ "refs": { } }, + "EnableImageDeregistrationProtectionRequest": { + "base": null, + "refs": { + } + }, + "EnableImageDeregistrationProtectionResult": { + "base": null, + "refs": { + } + }, "EnableImageRequest": { "base": null, "refs": { @@ -9506,7 +9532,7 @@ "DescribeSpotPriceHistoryRequest$Filters": "

The filters.

", "DescribeStoreImageTasksRequest$Filters": "

The filters.

When you specify the ImageIds parameter, any filters that you specify are ignored. To use the filters, you must remove the ImageIds parameter.

", "DescribeSubnetsRequest$Filters": "

The filters.

", - "DescribeTagsRequest$Filters": "

The filters.

", + "DescribeTagsRequest$Filters": "

The filters.

", "DescribeTrafficMirrorFiltersRequest$Filters": "

One or more filters. The possible values are:

", "DescribeTrafficMirrorSessionsRequest$Filters": "

One or more filters. The possible values are:

", "DescribeTrafficMirrorTargetsRequest$Filters": "

One or more filters. The possible values are:

", @@ -10917,10 +10943,12 @@ "DisableFastLaunchRequest$ImageId": "

Specify the ID of the image for which to disable Windows fast launch.

", "DisableFastLaunchResult$ImageId": "

The ID of the image for which Windows fast launch was disabled.

", "DisableImageDeprecationRequest$ImageId": "

The ID of the AMI.

", + "DisableImageDeregistrationProtectionRequest$ImageId": "

The ID of the AMI.

", "DisableImageRequest$ImageId": "

The ID of the AMI.

", "EnableFastLaunchRequest$ImageId": "

Specify the ID of the image for which to enable Windows fast launch.

", "EnableFastLaunchResult$ImageId": "

The image ID that identifies the AMI for which Windows fast launch was enabled.

", "EnableImageDeprecationRequest$ImageId": "

The ID of the AMI.

", + "EnableImageDeregistrationProtectionRequest$ImageId": "

The ID of the AMI.

", "EnableImageRequest$ImageId": "

The ID of the AMI.

", "ExportImageRequest$ImageId": "

The ID of the image.

", "FastLaunchImageIdList$member": null, @@ -13640,16 +13668,16 @@ "LaunchTemplateId": { "base": null, "refs": { - "CreateLaunchTemplateVersionRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

", - "DeleteLaunchTemplateRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

", - "DeleteLaunchTemplateVersionsRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

", - "DescribeLaunchTemplateVersionsRequest$LaunchTemplateId": "

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

", + "CreateLaunchTemplateVersionRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "DeleteLaunchTemplateRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "DeleteLaunchTemplateVersionsRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "DescribeLaunchTemplateVersionsRequest$LaunchTemplateId": "

The ID of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template ID or the launch template name, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

", "FastLaunchLaunchTemplateSpecificationRequest$LaunchTemplateId": "

Specify the ID of the launch template that the AMI should use for Windows fast launch.

", "FastLaunchLaunchTemplateSpecificationResponse$LaunchTemplateId": "

The ID of the launch template that the AMI uses for Windows fast launch.

", "FleetLaunchTemplateSpecificationRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

", "LaunchTemplateIdStringList$member": null, - "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template.

You must specify the LaunchTemplateId or the LaunchTemplateName, but not both.

", - "ModifyLaunchTemplateRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the LaunchTemplateId or the LaunchTemplateName, but not both.

" + "LaunchTemplateSpecification$LaunchTemplateId": "

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "ModifyLaunchTemplateRequest$LaunchTemplateId": "

The ID of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

" } }, "LaunchTemplateIdStringList": { @@ -13773,16 +13801,16 @@ "base": null, "refs": { "CreateLaunchTemplateRequest$LaunchTemplateName": "

A name for the launch template.

", - "CreateLaunchTemplateVersionRequest$LaunchTemplateName": "

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

", - "DeleteLaunchTemplateRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

", - "DeleteLaunchTemplateVersionsRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

", - "DescribeLaunchTemplateVersionsRequest$LaunchTemplateName": "

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

", + "CreateLaunchTemplateVersionRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "DeleteLaunchTemplateRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "DeleteLaunchTemplateVersionsRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "DescribeLaunchTemplateVersionsRequest$LaunchTemplateName": "

The name of the launch template.

To describe one or more versions of a specified launch template, you must specify either the launch template name or the launch template ID, but not both.

To describe all the latest or default launch template versions in your account, you must omit this parameter.

", "FleetLaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

", "FleetLaunchTemplateSpecificationRequest$LaunchTemplateName": "

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

", "LaunchTemplate$LaunchTemplateName": "

The name of the launch template.

", "LaunchTemplateNameStringList$member": null, "LaunchTemplateVersion$LaunchTemplateName": "

The name of the launch template.

", - "ModifyLaunchTemplateRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the LaunchTemplateName or the LaunchTemplateId, but not both.

" + "ModifyLaunchTemplateRequest$LaunchTemplateName": "

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

" } }, "LaunchTemplateNameStringList": { @@ -13834,9 +13862,9 @@ } }, "LaunchTemplateSpecification": { - "base": "

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

", + "base": "

Describes the launch template to use.

", "refs": { - "RunInstancesRequest$LaunchTemplate": "

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

" + "RunInstancesRequest$LaunchTemplate": "

The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.

" } }, "LaunchTemplateSpotMarketOptions": { @@ -15833,7 +15861,7 @@ "NetworkInterfaceList": { "base": null, "refs": { - "DescribeNetworkInterfacesResult$NetworkInterfaces": "

Information about one or more network interfaces.

" + "DescribeNetworkInterfacesResult$NetworkInterfaces": "

Information about the network interfaces.

" } }, "NetworkInterfacePermission": { @@ -19371,8 +19399,8 @@ "AssociateVpcCidrBlockRequest$Ipv6CidrBlock": "

An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

", "AssociateVpcCidrBlockResult$VpcId": "

The ID of the VPC.

", "AssociatedRole$CertificateS3BucketName": "

The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

", - "AssociatedRole$CertificateS3ObjectKey": "

The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle is stored. The object key is formated as follows: role_arn/certificate_arn.

", - "AssociatedRole$EncryptionKmsKeyId": "

The ID of the KMS customer master key (CMK) used to encrypt the private key.

", + "AssociatedRole$CertificateS3ObjectKey": "

The key of the Amazon S3 object where the certificate, certificate chain, and encrypted private key bundle are stored. The object key is formatted as follows: role_arn/certificate_arn.

", + "AssociatedRole$EncryptionKmsKeyId": "

The ID of the KMS key used to encrypt the private key.

", "AssociatedTargetNetwork$NetworkId": "

The ID of the subnet.

", "AssociationStatus$Message": "

A message about the status of the target network association, if applicable.

", "AthenaIntegration$IntegrationResultS3DestinationArn": "

The location in Amazon S3 to store the generated CloudFormation template.

", @@ -19593,7 +19621,7 @@ "CreateKeyPairRequest$KeyName": "

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

", "CreateLaunchTemplateRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraint: Maximum 128 ASCII characters.

", "CreateLaunchTemplateVersionRequest$ClientToken": "

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring idempotency.

Constraint: Maximum 128 ASCII characters.

", - "CreateLaunchTemplateVersionRequest$SourceVersion": "

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

", + "CreateLaunchTemplateVersionRequest$SourceVersion": "

The version of the launch template on which to base the new version. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

If you specify this parameter, the new version inherits the launch parameters from the source version. If you specify additional launch parameters for the new version, they overwrite any corresponding launch parameters inherited from the source version.

If you omit this parameter, the new version contains only the launch parameters that you specify for the new version.

", "CreateLocalGatewayRouteRequest$DestinationCidrBlock": "

The CIDR range used for destination matches. Routing decisions are based on the most specific match.

", "CreateManagedPrefixListRequest$PrefixListName": "

A name for the prefix list.

Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

", "CreateManagedPrefixListRequest$AddressFamily": "

The IP address type.

Valid Values: IPv4 | IPv6

", @@ -19975,6 +20003,7 @@ "DisableFastSnapshotRestoreSuccessItem$StateTransitionReason": "

The reason for the state transition. The possible values are as follows:

", "DisableFastSnapshotRestoreSuccessItem$OwnerId": "

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

", "DisableFastSnapshotRestoreSuccessItem$OwnerAlias": "

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

", + "DisableImageDeregistrationProtectionResult$Return": "

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

", "DisableIpamOrganizationAdminAccountRequest$DelegatedAdminAccountId": "

The Organizations member account ID that you want to disable as IPAM account.

", "DisassociateClientVpnTargetNetworkRequest$AssociationId": "

The ID of the target network association.

", "DisassociateClientVpnTargetNetworkResult$AssociationId": "

The ID of the target network association.

", @@ -20027,6 +20056,7 @@ "EnableFastSnapshotRestoreSuccessItem$StateTransitionReason": "

The reason for the state transition. The possible values are as follows:

", "EnableFastSnapshotRestoreSuccessItem$OwnerId": "

The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

", "EnableFastSnapshotRestoreSuccessItem$OwnerAlias": "

The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

", + "EnableImageDeregistrationProtectionResult$Return": "

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

", "EnableIpamOrganizationAdminAccountRequest$DelegatedAdminAccountId": "

The Organizations member account ID that you want to enable as the IPAM account.

", "EventInformation$EventDescription": "

The description of the event.

", "EventInformation$EventSubType": "

The event.

error events:

fleetRequestChange events:

instanceChange events:

Information events:

", @@ -20222,6 +20252,8 @@ "Image$SriovNetSupport": "

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", "Image$DeprecationTime": "

The date and time to deprecate the AMI, in UTC, in the following format: YYYY-MM-DDTHH:MM:SSZ. If you specified a value for seconds, Amazon EC2 rounds the seconds to the nearest minute.

", "Image$SourceInstanceId": "

The ID of the instance that the AMI was created from if the AMI was created using CreateImage. This field only appears if the AMI was created using CreateImage.

", + "Image$DeregistrationProtection": "

Indicates whether deregistration protection is enabled for the AMI.

", + "Image$LastLaunchedTime": "

The date and time, in ISO 8601 date-time format, when the AMI was last used to launch an EC2 instance. When the AMI is used to launch an instance, there is a 24-hour delay before that usage is reported.

lastLaunchedTime data is available starting April 2017.

", "ImageAttribute$ImageId": "

The ID of the AMI.

", "ImageDiskContainer$Description": "

The description of the disk image.

", "ImageDiskContainer$DeviceName": "

The block device mapping for the disk.

", @@ -20512,8 +20544,8 @@ "LaunchTemplatePlacementRequest$Affinity": "

The affinity setting for an instance on a Dedicated Host.

", "LaunchTemplatePlacementRequest$SpreadDomain": "

Reserved for future use.

", "LaunchTemplatePlacementRequest$HostResourceGroupArn": "

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.

", - "LaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template.

You must specify the LaunchTemplateName or the LaunchTemplateId, but not both.

", - "LaunchTemplateSpecification$Version": "

The launch template version number, $Latest, or $Default.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

Default: The default version of the launch template.

", + "LaunchTemplateSpecification$LaunchTemplateName": "

The name of the launch template.

You must specify either the launch template ID or the launch template name, but not both.

", + "LaunchTemplateSpecification$Version": "

The launch template version number, $Latest, or $Default.

A value of $Latest uses the latest version of the launch template.

A value of $Default uses the default version of the launch template.

Default: The default version of the launch template.

", "LaunchTemplateSpotMarketOptions$MaxPrice": "

The maximum hourly price you're willing to pay for the Spot Instances. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

", "LaunchTemplateSpotMarketOptionsRequest$MaxPrice": "

The maximum hourly price you're willing to pay for the Spot Instances. We do not recommend using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.

If you specify a maximum price, your Spot Instances will be interrupted more frequently than if you do not specify this parameter.

", "LaunchTemplateVersion$LaunchTemplateId": "

The ID of the launch template.

", @@ -21777,7 +21809,7 @@ "CreateIpamResourceDiscoveryRequest$TagSpecifications": "

Tag specifications for the IPAM resource discovery.

", "CreateIpamScopeRequest$TagSpecifications": "

The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", "CreateKeyPairRequest$TagSpecifications": "

The tags to apply to the new key pair.

", - "CreateLaunchTemplateRequest$TagSpecifications": "

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

", + "CreateLaunchTemplateRequest$TagSpecifications": "

The tags to apply to the launch template on creation. To tag the launch template, the resource type must be launch-template.

To specify the tags for the resources that are created when an instance is launched, you must use the TagSpecifications parameter in the launch template data structure.

", "CreateLocalGatewayRouteTableRequest$TagSpecifications": "

The tags assigned to the local gateway route table.

", "CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest$TagSpecifications": "

The tags assigned to the local gateway route table virtual interface group association.

", "CreateLocalGatewayRouteTableVpcAssociationRequest$TagSpecifications": "

The tags to assign to the local gateway route table VPC association.

", diff --git a/models/apis/pi/2018-02-27/docs-2.json b/models/apis/pi/2018-02-27/docs-2.json index 5687cc097e3..1803e3ad334 100644 --- a/models/apis/pi/2018-02-27/docs-2.json +++ b/models/apis/pi/2018-02-27/docs-2.json @@ -8,7 +8,7 @@ "GetDimensionKeyDetails": "

Get the attributes of the specified dimension group for a DB instance or data source. For example, if you specify a SQL ID, GetDimensionKeyDetails retrieves the full text of the dimension db.sql.statement associated with this ID. This operation is useful because GetResourceMetrics and DescribeDimensionKeys don't support retrieval of large SQL statement text.

", "GetPerformanceAnalysisReport": "

Retrieves the report including the report ID, status, time details, and the insights with recommendations. The report status can be RUNNING, SUCCEEDED, or FAILED. The insights include the description and recommendation fields.

", "GetResourceMetadata": "

Retrieve the metadata for different features. For example, the metadata might indicate that a feature is turned on or off on a specific DB instance.

", - "GetResourceMetrics": "

Retrieve Performance Insights metrics for a set of data sources over a time period. You can provide specific dimension groups and dimensions, and provide aggregation and filtering criteria for each group.

Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, only the first 500 bytes are returned.

", + "GetResourceMetrics": "

Retrieve Performance Insights metrics for a set of data sources over a time period. You can provide specific dimension groups and dimensions, and provide filtering criteria for each group. You must specify an aggregate function for each metric.

Each response element returns a maximum of 500 bytes. For larger elements, such as SQL statements, only the first 500 bytes are returned.

", "ListAvailableResourceDimensions": "

Retrieve the dimensions that can be queried for each specified metric type on a specified DB instance.

", "ListAvailableResourceMetrics": "

Retrieve metrics of the specified types that can be queried for a specified DB instance.

", "ListPerformanceAnalysisReports": "

Lists all the analysis reports created for the DB instance. The reports are sorted based on the start time of each report.

", @@ -475,7 +475,7 @@ } }, "MetricQuery": { - "base": "

A single query to be processed. You must provide the metric to query. If no other parameters are specified, Performance Insights returns all data points for the specified metric. Optionally, you can request that the data points be aggregated by dimension group (GroupBy), and return only those data points that match your criteria (Filter).

", + "base": "

A single query to be processed. You must provide the metric to query and append an aggregate function to the metric. For example, to find the average for the metric db.load you must use db.load.avg. Valid values for aggregate functions include .avg, .min, .max, and .sum. If no other parameters are specified, Performance Insights returns all data points for the specified metric. Optionally, you can request that the data points be aggregated by dimension group (GroupBy), and return only those data points that match your criteria (Filter).

", "refs": { "MetricQueryList$member": null } @@ -490,7 +490,7 @@ "MetricQueryList": { "base": null, "refs": { - "GetResourceMetricsRequest$MetricQueries": "

An array of one or more queries to perform. Each query must specify a Performance Insights metric, and can optionally specify aggregation and filtering criteria.

" + "GetResourceMetricsRequest$MetricQueries": "

An array of one or more queries to perform. Each query must specify a Performance Insights metric and specify an aggregate function, and you can provide filtering criteria. You must append the aggregate function to the metric. For example, to find the average for the metric db.load you must use db.load.avg. Valid values for aggregate functions include .avg, .min, .max, and .sum.

" } }, "MetricTypeList": { @@ -561,7 +561,7 @@ "DimensionsMetricList$member": null, "GetDimensionKeyDetailsRequest$Group": "

The name of the dimension group. Performance Insights searches the specified group for the dimension group ID. The following group name values are valid:

", "GetDimensionKeyDetailsRequest$GroupIdentifier": "

The ID of the dimension group from which to retrieve dimension details. For dimension group db.sql, the group ID is db.sql.id. The following group ID values are valid:

", - "MetricQuery$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", + "MetricQuery$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

", "MetricQueryFilterMap$key": null, "MetricQueryFilterMap$value": null, "MetricTypeList$member": null, @@ -653,7 +653,7 @@ "Recommendation$RecommendationId": "

The unique identifier for the recommendation.

", "ResponseResourceMetric$Metric": "

The full name of the metric.

", "ResponseResourceMetric$Unit": "

The unit of the metric.

", - "ResponseResourceMetricKey$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

" + "ResponseResourceMetricKey$Metric": "

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.

" } }, "Tag": { diff --git a/models/apis/pi/2018-02-27/endpoint-rule-set-1.json b/models/apis/pi/2018-02-27/endpoint-rule-set-1.json index 2a013d4fe26..59d8979addd 100644 --- a/models/apis/pi/2018-02-27/endpoint-rule-set-1.json +++ b/models/apis/pi/2018-02-27/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/models/apis/rds/2014-10-31/docs-2.json b/models/apis/rds/2014-10-31/docs-2.json index 65f99f8c27a..16f1707b2f0 100644 --- a/models/apis/rds/2014-10-31/docs-2.json +++ b/models/apis/rds/2014-10-31/docs-2.json @@ -5303,7 +5303,7 @@ "MetricReference$Name": "

The name of the metric reference.

", "MinimumEngineVersionPerAllowedValue$AllowedValue": "

The allowed value for an option setting.

", "MinimumEngineVersionPerAllowedValue$MinimumEngineVersion": "

The minimum DB engine version required for the allowed value.

", - "ModifyActivityStreamRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the RDS for Oracle or Microsoft SQL Server DB instance. For example, arn:aws:rds:us-east-1:12345667890:instance:my-orcl-db.

", + "ModifyActivityStreamRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the RDS for Oracle or Microsoft SQL Server DB instance. For example, arn:aws:rds:us-east-1:12345667890:db:my-orcl-db.

", "ModifyActivityStreamResponse$KmsKeyId": "

The Amazon Web Services KMS key identifier for encryption of messages in the database activity stream.

", "ModifyActivityStreamResponse$KinesisStreamName": "

The name of the Amazon Kinesis data stream to be used for the database activity stream.

", "ModifyCertificatesMessage$CertificateIdentifier": "

The new default certificate identifier to override the current one with.

To determine the valid values, use the describe-certificates CLI command or the DescribeCertificates API operation.

", diff --git a/models/apis/workspaces-web/2020-07-08/api-2.json b/models/apis/workspaces-web/2020-07-08/api-2.json index c93cf736eec..902764b74a0 100644 --- a/models/apis/workspaces-web/2020-07-08/api-2.json +++ b/models/apis/workspaces-web/2020-07-08/api-2.json @@ -974,6 +974,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"AccessDeniedException"}, {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, {"shape":"ValidationException"}, {"shape":"ConflictException"} ], @@ -1252,9 +1253,11 @@ "type":"structure", "required":["browserSettingsArn"], "members":{ + "additionalEncryptionContext":{"shape":"EncryptionContextMap"}, "associatedPortalArns":{"shape":"ArnList"}, "browserPolicy":{"shape":"BrowserPolicy"}, - "browserSettingsArn":{"shape":"ARN"} + "browserSettingsArn":{"shape":"ARN"}, + "customerManagedKey":{"shape":"keyArn"} } }, "BrowserSettingsList":{ @@ -1340,18 +1343,21 @@ "type":"string", "max":253, "min":0, - "pattern":"^(\\.?)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$" + "pattern":"^(\\.?)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$", + "sensitive":true }, "CookieName":{ "type":"string", "max":4096, - "min":0 + "min":0, + "sensitive":true }, "CookiePath":{ "type":"string", "max":2000, "min":0, - "pattern":"^/(\\S)*$" + "pattern":"^/(\\S)*$", + "sensitive":true }, "CookieSpecification":{ "type":"structure", @@ -1483,6 +1489,8 @@ }, "customerManagedKey":{"shape":"keyArn"}, "displayName":{"shape":"DisplayName"}, + "instanceType":{"shape":"InstanceType"}, + "maxConcurrentSessions":{"shape":"MaxConcurrentSessions"}, "tags":{"shape":"TagList"} } }, @@ -2062,6 +2070,14 @@ "max":60, "min":0 }, + "InstanceType":{ + "type":"string", + "enum":[ + "standard.regular", + "standard.large", + "standard.xlarge" + ] + }, "InternalServerException":{ "type":"structure", "members":{ @@ -2080,8 +2096,10 @@ "type":"structure", "required":["ipAccessSettingsArn"], "members":{ + "additionalEncryptionContext":{"shape":"EncryptionContextMap"}, "associatedPortalArns":{"shape":"ArnList"}, "creationDate":{"shape":"Timestamp"}, + "customerManagedKey":{"shape":"keyArn"}, "description":{"shape":"Description"}, "displayName":{"shape":"DisplayName"}, "ipAccessSettingsArn":{"shape":"ARN"}, @@ -2357,6 +2375,12 @@ "userSettings":{"shape":"UserSettingsList"} } }, + "MaxConcurrentSessions":{ + "type":"integer", + "box":true, + "max":5000, + "min":1 + }, "MaxResults":{ "type":"integer", "box":true, @@ -2395,12 +2419,16 @@ "type":"structure", "required":["portalArn"], "members":{ + "additionalEncryptionContext":{"shape":"EncryptionContextMap"}, "authenticationType":{"shape":"AuthenticationType"}, "browserSettingsArn":{"shape":"ARN"}, "browserType":{"shape":"BrowserType"}, "creationDate":{"shape":"Timestamp"}, + "customerManagedKey":{"shape":"keyArn"}, "displayName":{"shape":"DisplayName"}, + "instanceType":{"shape":"InstanceType"}, "ipAccessSettingsArn":{"shape":"ARN"}, + "maxConcurrentSessions":{"shape":"MaxConcurrentSessions"}, "networkSettingsArn":{"shape":"ARN"}, "portalArn":{"shape":"ARN"}, "portalEndpoint":{"shape":"PortalEndpoint"}, @@ -2439,7 +2467,9 @@ "browserType":{"shape":"BrowserType"}, "creationDate":{"shape":"Timestamp"}, "displayName":{"shape":"DisplayName"}, + "instanceType":{"shape":"InstanceType"}, "ipAccessSettingsArn":{"shape":"ARN"}, + "maxConcurrentSessions":{"shape":"MaxConcurrentSessions"}, "networkSettingsArn":{"shape":"ARN"}, "portalArn":{"shape":"ARN"}, "portalEndpoint":{"shape":"PortalEndpoint"}, @@ -2775,6 +2805,8 @@ "members":{ "authenticationType":{"shape":"AuthenticationType"}, "displayName":{"shape":"DisplayName"}, + "instanceType":{"shape":"InstanceType"}, + "maxConcurrentSessions":{"shape":"MaxConcurrentSessions"}, "portalArn":{ "shape":"ARN", "location":"uri", @@ -2890,9 +2922,11 @@ "type":"structure", "required":["userSettingsArn"], "members":{ + "additionalEncryptionContext":{"shape":"EncryptionContextMap"}, "associatedPortalArns":{"shape":"ArnList"}, "cookieSynchronizationConfiguration":{"shape":"CookieSynchronizationConfiguration"}, "copyAllowed":{"shape":"EnabledType"}, + "customerManagedKey":{"shape":"keyArn"}, "disconnectTimeoutInMinutes":{"shape":"DisconnectTimeoutInMinutes"}, "downloadAllowed":{"shape":"EnabledType"}, "idleDisconnectTimeoutInMinutes":{"shape":"IdleDisconnectTimeoutInMinutes"}, diff --git a/models/apis/workspaces-web/2020-07-08/docs-2.json b/models/apis/workspaces-web/2020-07-08/docs-2.json index 36ddfbc3eca..ce2b34860f0 100644 --- a/models/apis/workspaces-web/2020-07-08/docs-2.json +++ b/models/apis/workspaces-web/2020-07-08/docs-2.json @@ -244,10 +244,10 @@ "AuthenticationType": { "base": null, "refs": { - "CreatePortalRequest$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM_Identity_Center web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

", - "Portal$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM_Identity_Center web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

", - "PortalSummary$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM_Identity_Center web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

", - "UpdatePortalRequest$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM_Identity_Center web portals are authenticated through AWS IAM Identity Center (successor to AWS Single Sign-On). They provide additional features, such as IdP-initiated authentication. Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

" + "CreatePortalRequest$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM Identity Center web portals are authenticated through IAM Identity Center (successor to Single Sign-On). Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

", + "Portal$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM Identity Center web portals are authenticated through IAM Identity Center (successor to Single Sign-On). Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

", + "PortalSummary$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM Identity Center web portals are authenticated through IAM Identity Center (successor to Single Sign-On). Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

", + "UpdatePortalRequest$authenticationType": "

The type of authentication integration points used when signing into the web portal. Defaults to Standard.

Standard web portals are authenticated directly through your identity provider. You need to call CreateIdentityProvider to integrate your identity provider with your web portal. User and group access to your web portal is controlled through your identity provider.

IAM Identity Center web portals are authenticated through IAM Identity Center (successor to Single Sign-On). Identity sources (including external identity provider integration), plus user and group access to your web portal, can be configured in the IAM Identity Center.

" } }, "BrowserPolicy": { @@ -343,22 +343,22 @@ "ClientToken": { "base": null, "refs": { - "CreateBrowserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreateIdentityProviderRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreateIpAccessSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreateNetworkSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreatePortalRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreateTrustStoreRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreateUserAccessLoggingSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "CreateUserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "TagResourceRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateBrowserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateIdentityProviderRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateIpAccessSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateNetworkSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateTrustStoreRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateUserAccessLoggingSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", - "UpdateUserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

" + "CreateBrowserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreateIdentityProviderRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreateIpAccessSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreateNetworkSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreatePortalRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreateTrustStoreRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreateUserAccessLoggingSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "CreateUserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "TagResourceRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateBrowserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateIdentityProviderRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateIpAccessSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateNetworkSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateTrustStoreRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateUserAccessLoggingSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

", + "UpdateUserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the Amazon Web Services SDK.

" } }, "ConflictException": { @@ -686,10 +686,14 @@ "EncryptionContextMap": { "base": null, "refs": { + "BrowserSettings$additionalEncryptionContext": "

The additional encryption context of the browser settings.

", "CreateBrowserSettingsRequest$additionalEncryptionContext": "

Additional encryption context of the browser settings.

", "CreateIpAccessSettingsRequest$additionalEncryptionContext": "

Additional encryption context of the IP access settings.

", "CreatePortalRequest$additionalEncryptionContext": "

The additional encryption context of the portal.

", - "CreateUserSettingsRequest$additionalEncryptionContext": "

The additional encryption context of the user settings.

" + "CreateUserSettingsRequest$additionalEncryptionContext": "

The additional encryption context of the user settings.

", + "IpAccessSettings$additionalEncryptionContext": "

The additional encryption context of the IP access settings.

", + "Portal$additionalEncryptionContext": "

The additional encryption context of the portal.

", + "UserSettings$additionalEncryptionContext": "

The additional encryption context of the user settings.

" } }, "ExceptionMessage": { @@ -821,9 +825,9 @@ "IdentityProviderDetails": { "base": null, "refs": { - "CreateIdentityProviderRequest$identityProviderDetails": "

The identity provider details. The following list describes the provider detail keys for each identity provider type.

", - "IdentityProvider$identityProviderDetails": "

The identity provider details. The following list describes the provider detail keys for each identity provider type.

", - "UpdateIdentityProviderRequest$identityProviderDetails": "

The details of the identity provider. The following list describes the provider detail keys for each identity provider type.

" + "CreateIdentityProviderRequest$identityProviderDetails": "

The identity provider details. The following list describes the provider detail keys for each identity provider type.

", + "IdentityProvider$identityProviderDetails": "

The identity provider details. The following list describes the provider detail keys for each identity provider type.

", + "UpdateIdentityProviderRequest$identityProviderDetails": "

The details of the identity provider. The following list describes the provider detail keys for each identity provider type.

" } }, "IdentityProviderList": { @@ -865,6 +869,15 @@ "UserSettingsSummary$idleDisconnectTimeoutInMinutes": "

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the disconnect timeout interval begins.

" } }, + "InstanceType": { + "base": null, + "refs": { + "CreatePortalRequest$instanceType": "

The type and resources of the underlying instance.

", + "Portal$instanceType": "

The type and resources of the underlying instance.

", + "PortalSummary$instanceType": "

The type and resources of the underlying instance.

", + "UpdatePortalRequest$instanceType": "

The type and resources of the underlying instance.

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

There is an internal server error.

", "refs": { @@ -1018,6 +1031,15 @@ "refs": { } }, + "MaxConcurrentSessions": { + "base": null, + "refs": { + "CreatePortalRequest$maxConcurrentSessions": "

The maximum number of concurrent sessions for the portal.

", + "Portal$maxConcurrentSessions": "

The maximum number of concurrent sessions for the portal.

", + "PortalSummary$maxConcurrentSessions": "

The maximum number of concurrent sessions for the portal.

", + "UpdatePortalRequest$maxConcurrentSessions": "

The maximum number of concurrent sessions for the portal.

" + } + }, "MaxResults": { "base": null, "refs": { @@ -1481,10 +1503,14 @@ "keyArn": { "base": null, "refs": { + "BrowserSettings$customerManagedKey": "

The customer managed key used to encrypt sensitive information in the browser settings.

", "CreateBrowserSettingsRequest$customerManagedKey": "

The custom managed key of the browser settings.

", "CreateIpAccessSettingsRequest$customerManagedKey": "

The custom managed key of the IP access settings.

", "CreatePortalRequest$customerManagedKey": "

The customer managed key of the web portal.

", - "CreateUserSettingsRequest$customerManagedKey": "

The customer managed key used to encrypt sensitive information in the user settings.

" + "CreateUserSettingsRequest$customerManagedKey": "

The customer managed key used to encrypt sensitive information in the user settings.

", + "IpAccessSettings$customerManagedKey": "

The customer managed key used to encrypt sensitive information in the IP access settings.

", + "Portal$customerManagedKey": "

The customer managed key used to encrypt sensitive information in the portal.

", + "UserSettings$customerManagedKey": "

The customer managed key used to encrypt sensitive information in the user settings.

" } } } diff --git a/models/apis/workspaces-web/2020-07-08/endpoint-rule-set-1.json b/models/apis/workspaces-web/2020-07-08/endpoint-rule-set-1.json index 7124ded3a94..2398c28612f 100644 --- a/models/apis/workspaces-web/2020-07-08/endpoint-rule-set-1.json +++ b/models/apis/workspaces-web/2020-07-08/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/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index f95a23a901c..27e464f5171 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -21251,6 +21251,17 @@ "cn-northwest-1" : { } } }, + "entitlement.marketplace" : { + "endpoints" : { + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "entitlement-marketplace.cn-northwest-1.amazonaws.com.cn", + "protocols" : [ "HTTPS" ] + } + } + }, "es" : { "endpoints" : { "cn-north-1" : { diff --git a/service/bedrock/api.go b/service/bedrock/api.go index c5aa9bd9099..96b4870ac66 100644 --- a/service/bedrock/api.go +++ b/service/bedrock/api.go @@ -13,77 +13,66 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/restjson" ) -const opCreateModelCustomizationJob = "CreateModelCustomizationJob" +const opCreateEvaluationJob = "CreateEvaluationJob" -// CreateModelCustomizationJobRequest generates a "aws/request.Request" representing the -// client's request for the CreateModelCustomizationJob operation. The "output" return +// CreateEvaluationJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateEvaluationJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See CreateModelCustomizationJob for more information on using the CreateModelCustomizationJob +// See CreateEvaluationJob for more information on using the CreateEvaluationJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the CreateModelCustomizationJobRequest method. -// req, resp := client.CreateModelCustomizationJobRequest(params) +// // Example sending a request using the CreateEvaluationJobRequest method. +// req, resp := client.CreateEvaluationJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateModelCustomizationJob -func (c *Bedrock) CreateModelCustomizationJobRequest(input *CreateModelCustomizationJobInput) (req *request.Request, output *CreateModelCustomizationJobOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateEvaluationJob +func (c *Bedrock) CreateEvaluationJobRequest(input *CreateEvaluationJobInput) (req *request.Request, output *CreateEvaluationJobOutput) { op := &request.Operation{ - Name: opCreateModelCustomizationJob, + Name: opCreateEvaluationJob, HTTPMethod: "POST", - HTTPPath: "/model-customization-jobs", + HTTPPath: "/evaluation-jobs", } if input == nil { - input = &CreateModelCustomizationJobInput{} + input = &CreateEvaluationJobInput{} } - output = &CreateModelCustomizationJobOutput{} + output = &CreateEvaluationJobOutput{} req = c.newRequest(op, input, output) return } -// CreateModelCustomizationJob API operation for Amazon Bedrock. -// -// Creates a fine-tuning job to customize a base model. -// -// You specify the base foundation model and the location of the training data. -// After the model-customization job completes successfully, your custom model -// resource will be ready to use. Training data contains input and output text -// for each record in a JSONL format. Optionally, you can specify validation -// data in the same format as the training data. Amazon Bedrock returns validation -// loss metrics and output generations after the job completes. -// -// Model-customization jobs are asynchronous and the completion time depends -// on the base model and the training/validation data size. To monitor a job, -// use the GetModelCustomizationJob operation to retrieve the job status. +// CreateEvaluationJob API operation for Amazon Bedrock. // -// For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// API operation for creating and managing Amazon Bedrock automatic model evaluation +// jobs and model evaluation jobs that use human workers. To learn more about +// the requirements for creating a model evaluation job see, Model evaluations +// (https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation CreateModelCustomizationJob for usage and error information. +// API operation CreateEvaluationJob for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -97,100 +86,121 @@ func (c *Bedrock) CreateModelCustomizationJobRequest(input *CreateModelCustomiza // - InternalServerException // An internal server error occurred. Retry your request. // -// - TooManyTagsException -// The request contains more tags than can be associated with a resource (50 -// tags per resource). The maximum number of tags includes both existing tags -// and those included in your current request. -// // - ServiceQuotaExceededException // The number of requests exceeds the service quota. Resubmit your request later. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateModelCustomizationJob -func (c *Bedrock) CreateModelCustomizationJob(input *CreateModelCustomizationJobInput) (*CreateModelCustomizationJobOutput, error) { - req, out := c.CreateModelCustomizationJobRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateEvaluationJob +func (c *Bedrock) CreateEvaluationJob(input *CreateEvaluationJobInput) (*CreateEvaluationJobOutput, error) { + req, out := c.CreateEvaluationJobRequest(input) return out, req.Send() } -// CreateModelCustomizationJobWithContext is the same as CreateModelCustomizationJob with the addition of +// CreateEvaluationJobWithContext is the same as CreateEvaluationJob with the addition of // the ability to pass a context and additional request options. // -// See CreateModelCustomizationJob for details on how to use this API operation. +// See CreateEvaluationJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) CreateModelCustomizationJobWithContext(ctx aws.Context, input *CreateModelCustomizationJobInput, opts ...request.Option) (*CreateModelCustomizationJobOutput, error) { - req, out := c.CreateModelCustomizationJobRequest(input) +func (c *Bedrock) CreateEvaluationJobWithContext(ctx aws.Context, input *CreateEvaluationJobInput, opts ...request.Option) (*CreateEvaluationJobOutput, error) { + req, out := c.CreateEvaluationJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opCreateProvisionedModelThroughput = "CreateProvisionedModelThroughput" +const opCreateGuardrail = "CreateGuardrail" -// CreateProvisionedModelThroughputRequest generates a "aws/request.Request" representing the -// client's request for the CreateProvisionedModelThroughput operation. The "output" return +// CreateGuardrailRequest generates a "aws/request.Request" representing the +// client's request for the CreateGuardrail operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See CreateProvisionedModelThroughput for more information on using the CreateProvisionedModelThroughput +// See CreateGuardrail for more information on using the CreateGuardrail // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the CreateProvisionedModelThroughputRequest method. -// req, resp := client.CreateProvisionedModelThroughputRequest(params) +// // Example sending a request using the CreateGuardrailRequest method. +// req, resp := client.CreateGuardrailRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateProvisionedModelThroughput -func (c *Bedrock) CreateProvisionedModelThroughputRequest(input *CreateProvisionedModelThroughputInput) (req *request.Request, output *CreateProvisionedModelThroughputOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateGuardrail +func (c *Bedrock) CreateGuardrailRequest(input *CreateGuardrailInput) (req *request.Request, output *CreateGuardrailOutput) { op := &request.Operation{ - Name: opCreateProvisionedModelThroughput, + Name: opCreateGuardrail, HTTPMethod: "POST", - HTTPPath: "/provisioned-model-throughput", + HTTPPath: "/guardrails", } if input == nil { - input = &CreateProvisionedModelThroughputInput{} + input = &CreateGuardrailInput{} } - output = &CreateProvisionedModelThroughputOutput{} + output = &CreateGuardrailOutput{} req = c.newRequest(op, input, output) return } -// CreateProvisionedModelThroughput API operation for Amazon Bedrock. +// CreateGuardrail API operation for Amazon Bedrock. +// +// Creates a guardrail to block topics and to filter out harmful content. +// +// - Specify a name and optional description. +// +// - Specify messages for when the guardrail successfully blocks a prompt +// or a model response in the blockedInputMessaging and blockedOutputsMessaging +// fields. // -// Creates a provisioned throughput with dedicated capacity for a foundation -// model or a fine-tuned model. +// - Specify topics for the guardrail to deny in the topicPolicyConfig object. +// Each GuardrailTopicConfig (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailTopicConfig.html) +// object in the topicsConfig list pertains to one topic. Give a name and +// description so that the guardrail can properly identify the topic. Specify +// DENY in the type field. (Optional) Provide up to five prompts that you +// would categorize as belonging to the topic in the examples list. // -// For more information, see Provisioned throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// - Specify filter strengths for the harmful categories defined in Amazon +// Bedrock in the contentPolicyConfig object. Each GuardrailContentFilterConfig +// (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailContentFilterConfig.html) +// object in the filtersConfig list pertains to a harmful category. For more +// information, see Content filters (https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-filters). +// For more information about the fields in a content filter, see GuardrailContentFilterConfig +// (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailContentFilterConfig.html). +// Specify the category in the type field. Specify the strength of the filter +// for prompts in the inputStrength field and for model responses in the +// strength field of the GuardrailContentFilterConfig (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailContentFilterConfig.html). +// +// - (Optional) For security, include the ARN of a KMS key in the kmsKeyId +// field. +// +// - (Optional) Attach any tags to the guardrail in the tags object. For +// more information, see Tag resources (https://docs.aws.amazon.com/bedrock/latest/userguide/tagging). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation CreateProvisionedModelThroughput for usage and error information. +// API operation CreateGuardrail for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -198,6 +208,9 @@ func (c *Bedrock) CreateProvisionedModelThroughputRequest(input *CreateProvision // - ValidationException // Input validation failed. Check your request parameters and retry the request. // +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// // - InternalServerException // An internal server error occurred. Retry your request. // @@ -212,88 +225,87 @@ func (c *Bedrock) CreateProvisionedModelThroughputRequest(input *CreateProvision // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateProvisionedModelThroughput -func (c *Bedrock) CreateProvisionedModelThroughput(input *CreateProvisionedModelThroughputInput) (*CreateProvisionedModelThroughputOutput, error) { - req, out := c.CreateProvisionedModelThroughputRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateGuardrail +func (c *Bedrock) CreateGuardrail(input *CreateGuardrailInput) (*CreateGuardrailOutput, error) { + req, out := c.CreateGuardrailRequest(input) return out, req.Send() } -// CreateProvisionedModelThroughputWithContext is the same as CreateProvisionedModelThroughput with the addition of +// CreateGuardrailWithContext is the same as CreateGuardrail with the addition of // the ability to pass a context and additional request options. // -// See CreateProvisionedModelThroughput for details on how to use this API operation. +// See CreateGuardrail for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) CreateProvisionedModelThroughputWithContext(ctx aws.Context, input *CreateProvisionedModelThroughputInput, opts ...request.Option) (*CreateProvisionedModelThroughputOutput, error) { - req, out := c.CreateProvisionedModelThroughputRequest(input) +func (c *Bedrock) CreateGuardrailWithContext(ctx aws.Context, input *CreateGuardrailInput, opts ...request.Option) (*CreateGuardrailOutput, error) { + req, out := c.CreateGuardrailRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteCustomModel = "DeleteCustomModel" +const opCreateGuardrailVersion = "CreateGuardrailVersion" -// DeleteCustomModelRequest generates a "aws/request.Request" representing the -// client's request for the DeleteCustomModel operation. The "output" return +// CreateGuardrailVersionRequest generates a "aws/request.Request" representing the +// client's request for the CreateGuardrailVersion operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteCustomModel for more information on using the DeleteCustomModel +// See CreateGuardrailVersion for more information on using the CreateGuardrailVersion // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteCustomModelRequest method. -// req, resp := client.DeleteCustomModelRequest(params) +// // Example sending a request using the CreateGuardrailVersionRequest method. +// req, resp := client.CreateGuardrailVersionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteCustomModel -func (c *Bedrock) DeleteCustomModelRequest(input *DeleteCustomModelInput) (req *request.Request, output *DeleteCustomModelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateGuardrailVersion +func (c *Bedrock) CreateGuardrailVersionRequest(input *CreateGuardrailVersionInput) (req *request.Request, output *CreateGuardrailVersionOutput) { op := &request.Operation{ - Name: opDeleteCustomModel, - HTTPMethod: "DELETE", - HTTPPath: "/custom-models/{modelIdentifier}", + Name: opCreateGuardrailVersion, + HTTPMethod: "POST", + HTTPPath: "/guardrails/{guardrailIdentifier}", } if input == nil { - input = &DeleteCustomModelInput{} + input = &CreateGuardrailVersionInput{} } - output = &DeleteCustomModelOutput{} + output = &CreateGuardrailVersionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteCustomModel API operation for Amazon Bedrock. +// CreateGuardrailVersion API operation for Amazon Bedrock. // -// Deletes a custom model that you created earlier. For more information, see -// Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// Creates a version of the guardrail. Use this API to create a snapshot of +// the guardrail when you are satisfied with a configuration, or to compare +// the configuration with another version. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation DeleteCustomModel for usage and error information. +// API operation CreateGuardrailVersion for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -307,177 +319,213 @@ func (c *Bedrock) DeleteCustomModelRequest(input *DeleteCustomModelInput) (req * // - InternalServerException // An internal server error occurred. Retry your request. // +// - ServiceQuotaExceededException +// The number of requests exceeds the service quota. Resubmit your request later. +// // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteCustomModel -func (c *Bedrock) DeleteCustomModel(input *DeleteCustomModelInput) (*DeleteCustomModelOutput, error) { - req, out := c.DeleteCustomModelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateGuardrailVersion +func (c *Bedrock) CreateGuardrailVersion(input *CreateGuardrailVersionInput) (*CreateGuardrailVersionOutput, error) { + req, out := c.CreateGuardrailVersionRequest(input) return out, req.Send() } -// DeleteCustomModelWithContext is the same as DeleteCustomModel with the addition of +// CreateGuardrailVersionWithContext is the same as CreateGuardrailVersion with the addition of // the ability to pass a context and additional request options. // -// See DeleteCustomModel for details on how to use this API operation. +// See CreateGuardrailVersion for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) DeleteCustomModelWithContext(ctx aws.Context, input *DeleteCustomModelInput, opts ...request.Option) (*DeleteCustomModelOutput, error) { - req, out := c.DeleteCustomModelRequest(input) +func (c *Bedrock) CreateGuardrailVersionWithContext(ctx aws.Context, input *CreateGuardrailVersionInput, opts ...request.Option) (*CreateGuardrailVersionOutput, error) { + req, out := c.CreateGuardrailVersionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteModelInvocationLoggingConfiguration = "DeleteModelInvocationLoggingConfiguration" +const opCreateModelCustomizationJob = "CreateModelCustomizationJob" -// DeleteModelInvocationLoggingConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the DeleteModelInvocationLoggingConfiguration operation. The "output" return +// CreateModelCustomizationJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateModelCustomizationJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteModelInvocationLoggingConfiguration for more information on using the DeleteModelInvocationLoggingConfiguration +// See CreateModelCustomizationJob for more information on using the CreateModelCustomizationJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteModelInvocationLoggingConfigurationRequest method. -// req, resp := client.DeleteModelInvocationLoggingConfigurationRequest(params) +// // Example sending a request using the CreateModelCustomizationJobRequest method. +// req, resp := client.CreateModelCustomizationJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteModelInvocationLoggingConfiguration -func (c *Bedrock) DeleteModelInvocationLoggingConfigurationRequest(input *DeleteModelInvocationLoggingConfigurationInput) (req *request.Request, output *DeleteModelInvocationLoggingConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateModelCustomizationJob +func (c *Bedrock) CreateModelCustomizationJobRequest(input *CreateModelCustomizationJobInput) (req *request.Request, output *CreateModelCustomizationJobOutput) { op := &request.Operation{ - Name: opDeleteModelInvocationLoggingConfiguration, - HTTPMethod: "DELETE", - HTTPPath: "/logging/modelinvocations", + Name: opCreateModelCustomizationJob, + HTTPMethod: "POST", + HTTPPath: "/model-customization-jobs", } if input == nil { - input = &DeleteModelInvocationLoggingConfigurationInput{} + input = &CreateModelCustomizationJobInput{} } - output = &DeleteModelInvocationLoggingConfigurationOutput{} + output = &CreateModelCustomizationJobOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteModelInvocationLoggingConfiguration API operation for Amazon Bedrock. +// CreateModelCustomizationJob API operation for Amazon Bedrock. // -// Delete the invocation logging. +// Creates a fine-tuning job to customize a base model. +// +// You specify the base foundation model and the location of the training data. +// After the model-customization job completes successfully, your custom model +// resource will be ready to use. Amazon Bedrock returns validation loss metrics +// and output generations after the job completes. +// +// For information on the format of training and validation data, see Prepare +// the datasets (https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-prepare.html). +// +// Model-customization jobs are asynchronous and the completion time depends +// on the base model and the training/validation data size. To monitor a job, +// use the GetModelCustomizationJob operation to retrieve the job status. +// +// For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation DeleteModelInvocationLoggingConfiguration for usage and error information. +// API operation CreateModelCustomizationJob for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// // - InternalServerException // An internal server error occurred. Retry your request. // +// - TooManyTagsException +// The request contains more tags than can be associated with a resource (50 +// tags per resource). The maximum number of tags includes both existing tags +// and those included in your current request. +// +// - ServiceQuotaExceededException +// The number of requests exceeds the service quota. Resubmit your request later. +// // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteModelInvocationLoggingConfiguration -func (c *Bedrock) DeleteModelInvocationLoggingConfiguration(input *DeleteModelInvocationLoggingConfigurationInput) (*DeleteModelInvocationLoggingConfigurationOutput, error) { - req, out := c.DeleteModelInvocationLoggingConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateModelCustomizationJob +func (c *Bedrock) CreateModelCustomizationJob(input *CreateModelCustomizationJobInput) (*CreateModelCustomizationJobOutput, error) { + req, out := c.CreateModelCustomizationJobRequest(input) return out, req.Send() } -// DeleteModelInvocationLoggingConfigurationWithContext is the same as DeleteModelInvocationLoggingConfiguration with the addition of +// CreateModelCustomizationJobWithContext is the same as CreateModelCustomizationJob with the addition of // the ability to pass a context and additional request options. // -// See DeleteModelInvocationLoggingConfiguration for details on how to use this API operation. +// See CreateModelCustomizationJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) DeleteModelInvocationLoggingConfigurationWithContext(ctx aws.Context, input *DeleteModelInvocationLoggingConfigurationInput, opts ...request.Option) (*DeleteModelInvocationLoggingConfigurationOutput, error) { - req, out := c.DeleteModelInvocationLoggingConfigurationRequest(input) +func (c *Bedrock) CreateModelCustomizationJobWithContext(ctx aws.Context, input *CreateModelCustomizationJobInput, opts ...request.Option) (*CreateModelCustomizationJobOutput, error) { + req, out := c.CreateModelCustomizationJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteProvisionedModelThroughput = "DeleteProvisionedModelThroughput" +const opCreateProvisionedModelThroughput = "CreateProvisionedModelThroughput" -// DeleteProvisionedModelThroughputRequest generates a "aws/request.Request" representing the -// client's request for the DeleteProvisionedModelThroughput operation. The "output" return +// CreateProvisionedModelThroughputRequest generates a "aws/request.Request" representing the +// client's request for the CreateProvisionedModelThroughput operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteProvisionedModelThroughput for more information on using the DeleteProvisionedModelThroughput +// See CreateProvisionedModelThroughput for more information on using the CreateProvisionedModelThroughput // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteProvisionedModelThroughputRequest method. -// req, resp := client.DeleteProvisionedModelThroughputRequest(params) +// // Example sending a request using the CreateProvisionedModelThroughputRequest method. +// req, resp := client.CreateProvisionedModelThroughputRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteProvisionedModelThroughput -func (c *Bedrock) DeleteProvisionedModelThroughputRequest(input *DeleteProvisionedModelThroughputInput) (req *request.Request, output *DeleteProvisionedModelThroughputOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateProvisionedModelThroughput +func (c *Bedrock) CreateProvisionedModelThroughputRequest(input *CreateProvisionedModelThroughputInput) (req *request.Request, output *CreateProvisionedModelThroughputOutput) { op := &request.Operation{ - Name: opDeleteProvisionedModelThroughput, - HTTPMethod: "DELETE", - HTTPPath: "/provisioned-model-throughput/{provisionedModelId}", + Name: opCreateProvisionedModelThroughput, + HTTPMethod: "POST", + HTTPPath: "/provisioned-model-throughput", } if input == nil { - input = &DeleteProvisionedModelThroughputInput{} + input = &CreateProvisionedModelThroughputInput{} } - output = &DeleteProvisionedModelThroughputOutput{} + output = &CreateProvisionedModelThroughputOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteProvisionedModelThroughput API operation for Amazon Bedrock. +// CreateProvisionedModelThroughput API operation for Amazon Bedrock. // -// Deletes a provisioned throughput. For more information, see Provisioned throughput -// (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Creates dedicated throughput for a base or custom model with the model units +// and for the duration that you specify. For pricing details, see Amazon Bedrock +// Pricing (http://aws.amazon.com/bedrock/pricing/). For more information, see +// Provisioned Throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation DeleteProvisionedModelThroughput for usage and error information. +// API operation CreateProvisionedModelThroughput for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -485,96 +533,102 @@ func (c *Bedrock) DeleteProvisionedModelThroughputRequest(input *DeleteProvision // - ValidationException // Input validation failed. Check your request parameters and retry the request. // -// - ConflictException -// Error occurred because of a conflict while performing an operation. -// // - InternalServerException // An internal server error occurred. Retry your request. // +// - TooManyTagsException +// The request contains more tags than can be associated with a resource (50 +// tags per resource). The maximum number of tags includes both existing tags +// and those included in your current request. +// +// - ServiceQuotaExceededException +// The number of requests exceeds the service quota. Resubmit your request later. +// // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteProvisionedModelThroughput -func (c *Bedrock) DeleteProvisionedModelThroughput(input *DeleteProvisionedModelThroughputInput) (*DeleteProvisionedModelThroughputOutput, error) { - req, out := c.DeleteProvisionedModelThroughputRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/CreateProvisionedModelThroughput +func (c *Bedrock) CreateProvisionedModelThroughput(input *CreateProvisionedModelThroughputInput) (*CreateProvisionedModelThroughputOutput, error) { + req, out := c.CreateProvisionedModelThroughputRequest(input) return out, req.Send() } -// DeleteProvisionedModelThroughputWithContext is the same as DeleteProvisionedModelThroughput with the addition of +// CreateProvisionedModelThroughputWithContext is the same as CreateProvisionedModelThroughput with the addition of // the ability to pass a context and additional request options. // -// See DeleteProvisionedModelThroughput for details on how to use this API operation. +// See CreateProvisionedModelThroughput for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) DeleteProvisionedModelThroughputWithContext(ctx aws.Context, input *DeleteProvisionedModelThroughputInput, opts ...request.Option) (*DeleteProvisionedModelThroughputOutput, error) { - req, out := c.DeleteProvisionedModelThroughputRequest(input) +func (c *Bedrock) CreateProvisionedModelThroughputWithContext(ctx aws.Context, input *CreateProvisionedModelThroughputInput, opts ...request.Option) (*CreateProvisionedModelThroughputOutput, error) { + req, out := c.CreateProvisionedModelThroughputRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetCustomModel = "GetCustomModel" +const opDeleteCustomModel = "DeleteCustomModel" -// GetCustomModelRequest generates a "aws/request.Request" representing the -// client's request for the GetCustomModel operation. The "output" return +// DeleteCustomModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomModel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetCustomModel for more information on using the GetCustomModel +// See DeleteCustomModel for more information on using the DeleteCustomModel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetCustomModelRequest method. -// req, resp := client.GetCustomModelRequest(params) +// // Example sending a request using the DeleteCustomModelRequest method. +// req, resp := client.DeleteCustomModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetCustomModel -func (c *Bedrock) GetCustomModelRequest(input *GetCustomModelInput) (req *request.Request, output *GetCustomModelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteCustomModel +func (c *Bedrock) DeleteCustomModelRequest(input *DeleteCustomModelInput) (req *request.Request, output *DeleteCustomModelOutput) { op := &request.Operation{ - Name: opGetCustomModel, - HTTPMethod: "GET", + Name: opDeleteCustomModel, + HTTPMethod: "DELETE", HTTPPath: "/custom-models/{modelIdentifier}", } if input == nil { - input = &GetCustomModelInput{} + input = &DeleteCustomModelInput{} } - output = &GetCustomModelOutput{} + output = &DeleteCustomModelOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetCustomModel API operation for Amazon Bedrock. +// DeleteCustomModel API operation for Amazon Bedrock. // -// Get the properties associated with a Amazon Bedrock custom model that you -// have created.For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// Deletes a custom model that you created earlier. For more information, see +// Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation GetCustomModel for usage and error information. +// API operation DeleteCustomModel for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -582,91 +636,103 @@ func (c *Bedrock) GetCustomModelRequest(input *GetCustomModelInput) (req *reques // - ValidationException // Input validation failed. Check your request parameters and retry the request. // +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// // - InternalServerException // An internal server error occurred. Retry your request. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetCustomModel -func (c *Bedrock) GetCustomModel(input *GetCustomModelInput) (*GetCustomModelOutput, error) { - req, out := c.GetCustomModelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteCustomModel +func (c *Bedrock) DeleteCustomModel(input *DeleteCustomModelInput) (*DeleteCustomModelOutput, error) { + req, out := c.DeleteCustomModelRequest(input) return out, req.Send() } -// GetCustomModelWithContext is the same as GetCustomModel with the addition of +// DeleteCustomModelWithContext is the same as DeleteCustomModel with the addition of // the ability to pass a context and additional request options. // -// See GetCustomModel for details on how to use this API operation. +// See DeleteCustomModel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) GetCustomModelWithContext(ctx aws.Context, input *GetCustomModelInput, opts ...request.Option) (*GetCustomModelOutput, error) { - req, out := c.GetCustomModelRequest(input) +func (c *Bedrock) DeleteCustomModelWithContext(ctx aws.Context, input *DeleteCustomModelInput, opts ...request.Option) (*DeleteCustomModelOutput, error) { + req, out := c.DeleteCustomModelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetFoundationModel = "GetFoundationModel" +const opDeleteGuardrail = "DeleteGuardrail" -// GetFoundationModelRequest generates a "aws/request.Request" representing the -// client's request for the GetFoundationModel operation. The "output" return +// DeleteGuardrailRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGuardrail operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetFoundationModel for more information on using the GetFoundationModel +// See DeleteGuardrail for more information on using the DeleteGuardrail // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetFoundationModelRequest method. -// req, resp := client.GetFoundationModelRequest(params) +// // Example sending a request using the DeleteGuardrailRequest method. +// req, resp := client.DeleteGuardrailRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetFoundationModel -func (c *Bedrock) GetFoundationModelRequest(input *GetFoundationModelInput) (req *request.Request, output *GetFoundationModelOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteGuardrail +func (c *Bedrock) DeleteGuardrailRequest(input *DeleteGuardrailInput) (req *request.Request, output *DeleteGuardrailOutput) { op := &request.Operation{ - Name: opGetFoundationModel, - HTTPMethod: "GET", - HTTPPath: "/foundation-models/{modelIdentifier}", + Name: opDeleteGuardrail, + HTTPMethod: "DELETE", + HTTPPath: "/guardrails/{guardrailIdentifier}", } if input == nil { - input = &GetFoundationModelInput{} + input = &DeleteGuardrailInput{} } - output = &GetFoundationModelOutput{} + output = &DeleteGuardrailOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetFoundationModel API operation for Amazon Bedrock. +// DeleteGuardrail API operation for Amazon Bedrock. // -// Get details about a Amazon Bedrock foundation model. +// Deletes a guardrail. +// +// - To delete a guardrail, only specify the ARN of the guardrail in the +// guardrailIdentifier field. If you delete a guardrail, all of its versions +// will be deleted. +// +// - To delete a version of a guardrail, specify the ARN of the guardrail +// in the guardrailIdentifier field and the version in the guardrailVersion +// field. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation GetFoundationModel for usage and error information. +// API operation DeleteGuardrail for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -674,272 +740,281 @@ func (c *Bedrock) GetFoundationModelRequest(input *GetFoundationModelInput) (req // - ValidationException // Input validation failed. Check your request parameters and retry the request. // +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// // - InternalServerException // An internal server error occurred. Retry your request. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetFoundationModel -func (c *Bedrock) GetFoundationModel(input *GetFoundationModelInput) (*GetFoundationModelOutput, error) { - req, out := c.GetFoundationModelRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteGuardrail +func (c *Bedrock) DeleteGuardrail(input *DeleteGuardrailInput) (*DeleteGuardrailOutput, error) { + req, out := c.DeleteGuardrailRequest(input) return out, req.Send() } -// GetFoundationModelWithContext is the same as GetFoundationModel with the addition of +// DeleteGuardrailWithContext is the same as DeleteGuardrail with the addition of // the ability to pass a context and additional request options. // -// See GetFoundationModel for details on how to use this API operation. +// See DeleteGuardrail for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) GetFoundationModelWithContext(ctx aws.Context, input *GetFoundationModelInput, opts ...request.Option) (*GetFoundationModelOutput, error) { - req, out := c.GetFoundationModelRequest(input) +func (c *Bedrock) DeleteGuardrailWithContext(ctx aws.Context, input *DeleteGuardrailInput, opts ...request.Option) (*DeleteGuardrailOutput, error) { + req, out := c.DeleteGuardrailRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetModelCustomizationJob = "GetModelCustomizationJob" +const opDeleteModelInvocationLoggingConfiguration = "DeleteModelInvocationLoggingConfiguration" -// GetModelCustomizationJobRequest generates a "aws/request.Request" representing the -// client's request for the GetModelCustomizationJob operation. The "output" return +// DeleteModelInvocationLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteModelInvocationLoggingConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetModelCustomizationJob for more information on using the GetModelCustomizationJob +// See DeleteModelInvocationLoggingConfiguration for more information on using the DeleteModelInvocationLoggingConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetModelCustomizationJobRequest method. -// req, resp := client.GetModelCustomizationJobRequest(params) +// // Example sending a request using the DeleteModelInvocationLoggingConfigurationRequest method. +// req, resp := client.DeleteModelInvocationLoggingConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelCustomizationJob -func (c *Bedrock) GetModelCustomizationJobRequest(input *GetModelCustomizationJobInput) (req *request.Request, output *GetModelCustomizationJobOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteModelInvocationLoggingConfiguration +func (c *Bedrock) DeleteModelInvocationLoggingConfigurationRequest(input *DeleteModelInvocationLoggingConfigurationInput) (req *request.Request, output *DeleteModelInvocationLoggingConfigurationOutput) { op := &request.Operation{ - Name: opGetModelCustomizationJob, - HTTPMethod: "GET", - HTTPPath: "/model-customization-jobs/{jobIdentifier}", + Name: opDeleteModelInvocationLoggingConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/logging/modelinvocations", } if input == nil { - input = &GetModelCustomizationJobInput{} + input = &DeleteModelInvocationLoggingConfigurationInput{} } - output = &GetModelCustomizationJobOutput{} + output = &DeleteModelInvocationLoggingConfigurationOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetModelCustomizationJob API operation for Amazon Bedrock. +// DeleteModelInvocationLoggingConfiguration API operation for Amazon Bedrock. // -// Retrieves the properties associated with a model-customization job, including -// the status of the job. For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// Delete the invocation logging. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation GetModelCustomizationJob for usage and error information. +// API operation DeleteModelInvocationLoggingConfiguration for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. -// // - AccessDeniedException // The request is denied because of missing access permissions. // -// - ValidationException -// Input validation failed. Check your request parameters and retry the request. -// // - InternalServerException // An internal server error occurred. Retry your request. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelCustomizationJob -func (c *Bedrock) GetModelCustomizationJob(input *GetModelCustomizationJobInput) (*GetModelCustomizationJobOutput, error) { - req, out := c.GetModelCustomizationJobRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteModelInvocationLoggingConfiguration +func (c *Bedrock) DeleteModelInvocationLoggingConfiguration(input *DeleteModelInvocationLoggingConfigurationInput) (*DeleteModelInvocationLoggingConfigurationOutput, error) { + req, out := c.DeleteModelInvocationLoggingConfigurationRequest(input) return out, req.Send() } -// GetModelCustomizationJobWithContext is the same as GetModelCustomizationJob with the addition of +// DeleteModelInvocationLoggingConfigurationWithContext is the same as DeleteModelInvocationLoggingConfiguration with the addition of // the ability to pass a context and additional request options. // -// See GetModelCustomizationJob for details on how to use this API operation. +// See DeleteModelInvocationLoggingConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) GetModelCustomizationJobWithContext(ctx aws.Context, input *GetModelCustomizationJobInput, opts ...request.Option) (*GetModelCustomizationJobOutput, error) { - req, out := c.GetModelCustomizationJobRequest(input) +func (c *Bedrock) DeleteModelInvocationLoggingConfigurationWithContext(ctx aws.Context, input *DeleteModelInvocationLoggingConfigurationInput, opts ...request.Option) (*DeleteModelInvocationLoggingConfigurationOutput, error) { + req, out := c.DeleteModelInvocationLoggingConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetModelInvocationLoggingConfiguration = "GetModelInvocationLoggingConfiguration" +const opDeleteProvisionedModelThroughput = "DeleteProvisionedModelThroughput" -// GetModelInvocationLoggingConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the GetModelInvocationLoggingConfiguration operation. The "output" return +// DeleteProvisionedModelThroughputRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProvisionedModelThroughput operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetModelInvocationLoggingConfiguration for more information on using the GetModelInvocationLoggingConfiguration +// See DeleteProvisionedModelThroughput for more information on using the DeleteProvisionedModelThroughput // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetModelInvocationLoggingConfigurationRequest method. -// req, resp := client.GetModelInvocationLoggingConfigurationRequest(params) +// // Example sending a request using the DeleteProvisionedModelThroughputRequest method. +// req, resp := client.DeleteProvisionedModelThroughputRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelInvocationLoggingConfiguration -func (c *Bedrock) GetModelInvocationLoggingConfigurationRequest(input *GetModelInvocationLoggingConfigurationInput) (req *request.Request, output *GetModelInvocationLoggingConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteProvisionedModelThroughput +func (c *Bedrock) DeleteProvisionedModelThroughputRequest(input *DeleteProvisionedModelThroughputInput) (req *request.Request, output *DeleteProvisionedModelThroughputOutput) { op := &request.Operation{ - Name: opGetModelInvocationLoggingConfiguration, - HTTPMethod: "GET", - HTTPPath: "/logging/modelinvocations", + Name: opDeleteProvisionedModelThroughput, + HTTPMethod: "DELETE", + HTTPPath: "/provisioned-model-throughput/{provisionedModelId}", } if input == nil { - input = &GetModelInvocationLoggingConfigurationInput{} + input = &DeleteProvisionedModelThroughputInput{} } - output = &GetModelInvocationLoggingConfigurationOutput{} + output = &DeleteProvisionedModelThroughputOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetModelInvocationLoggingConfiguration API operation for Amazon Bedrock. +// DeleteProvisionedModelThroughput API operation for Amazon Bedrock. // -// Get the current configuration values for model invocation logging. +// Deletes a Provisioned Throughput. You can't delete a Provisioned Throughput +// before the commitment term is over. For more information, see Provisioned +// Throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation GetModelInvocationLoggingConfiguration for usage and error information. +// API operation DeleteProvisionedModelThroughput for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// // - InternalServerException // An internal server error occurred. Retry your request. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelInvocationLoggingConfiguration -func (c *Bedrock) GetModelInvocationLoggingConfiguration(input *GetModelInvocationLoggingConfigurationInput) (*GetModelInvocationLoggingConfigurationOutput, error) { - req, out := c.GetModelInvocationLoggingConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/DeleteProvisionedModelThroughput +func (c *Bedrock) DeleteProvisionedModelThroughput(input *DeleteProvisionedModelThroughputInput) (*DeleteProvisionedModelThroughputOutput, error) { + req, out := c.DeleteProvisionedModelThroughputRequest(input) return out, req.Send() } -// GetModelInvocationLoggingConfigurationWithContext is the same as GetModelInvocationLoggingConfiguration with the addition of +// DeleteProvisionedModelThroughputWithContext is the same as DeleteProvisionedModelThroughput with the addition of // the ability to pass a context and additional request options. // -// See GetModelInvocationLoggingConfiguration for details on how to use this API operation. +// See DeleteProvisionedModelThroughput for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) GetModelInvocationLoggingConfigurationWithContext(ctx aws.Context, input *GetModelInvocationLoggingConfigurationInput, opts ...request.Option) (*GetModelInvocationLoggingConfigurationOutput, error) { - req, out := c.GetModelInvocationLoggingConfigurationRequest(input) +func (c *Bedrock) DeleteProvisionedModelThroughputWithContext(ctx aws.Context, input *DeleteProvisionedModelThroughputInput, opts ...request.Option) (*DeleteProvisionedModelThroughputOutput, error) { + req, out := c.DeleteProvisionedModelThroughputRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetProvisionedModelThroughput = "GetProvisionedModelThroughput" +const opGetCustomModel = "GetCustomModel" -// GetProvisionedModelThroughputRequest generates a "aws/request.Request" representing the -// client's request for the GetProvisionedModelThroughput operation. The "output" return +// GetCustomModelRequest generates a "aws/request.Request" representing the +// client's request for the GetCustomModel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetProvisionedModelThroughput for more information on using the GetProvisionedModelThroughput +// See GetCustomModel for more information on using the GetCustomModel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetProvisionedModelThroughputRequest method. -// req, resp := client.GetProvisionedModelThroughputRequest(params) +// // Example sending a request using the GetCustomModelRequest method. +// req, resp := client.GetCustomModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetProvisionedModelThroughput -func (c *Bedrock) GetProvisionedModelThroughputRequest(input *GetProvisionedModelThroughputInput) (req *request.Request, output *GetProvisionedModelThroughputOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetCustomModel +func (c *Bedrock) GetCustomModelRequest(input *GetCustomModelInput) (req *request.Request, output *GetCustomModelOutput) { op := &request.Operation{ - Name: opGetProvisionedModelThroughput, + Name: opGetCustomModel, HTTPMethod: "GET", - HTTPPath: "/provisioned-model-throughput/{provisionedModelId}", + HTTPPath: "/custom-models/{modelIdentifier}", } if input == nil { - input = &GetProvisionedModelThroughputInput{} + input = &GetCustomModelInput{} } - output = &GetProvisionedModelThroughputOutput{} + output = &GetCustomModelOutput{} req = c.newRequest(op, input, output) return } -// GetProvisionedModelThroughput API operation for Amazon Bedrock. +// GetCustomModel API operation for Amazon Bedrock. // -// Get details for a provisioned throughput. For more information, see Provisioned -// throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Get the properties associated with a Amazon Bedrock custom model that you +// have created.For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation GetProvisionedModelThroughput for usage and error information. +// API operation GetCustomModel for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -953,92 +1028,87 @@ func (c *Bedrock) GetProvisionedModelThroughputRequest(input *GetProvisionedMode // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetProvisionedModelThroughput -func (c *Bedrock) GetProvisionedModelThroughput(input *GetProvisionedModelThroughputInput) (*GetProvisionedModelThroughputOutput, error) { - req, out := c.GetProvisionedModelThroughputRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetCustomModel +func (c *Bedrock) GetCustomModel(input *GetCustomModelInput) (*GetCustomModelOutput, error) { + req, out := c.GetCustomModelRequest(input) return out, req.Send() } -// GetProvisionedModelThroughputWithContext is the same as GetProvisionedModelThroughput with the addition of +// GetCustomModelWithContext is the same as GetCustomModel with the addition of // the ability to pass a context and additional request options. // -// See GetProvisionedModelThroughput for details on how to use this API operation. +// See GetCustomModel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) GetProvisionedModelThroughputWithContext(ctx aws.Context, input *GetProvisionedModelThroughputInput, opts ...request.Option) (*GetProvisionedModelThroughputOutput, error) { - req, out := c.GetProvisionedModelThroughputRequest(input) +func (c *Bedrock) GetCustomModelWithContext(ctx aws.Context, input *GetCustomModelInput, opts ...request.Option) (*GetCustomModelOutput, error) { + req, out := c.GetCustomModelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListCustomModels = "ListCustomModels" +const opGetEvaluationJob = "GetEvaluationJob" -// ListCustomModelsRequest generates a "aws/request.Request" representing the -// client's request for the ListCustomModels operation. The "output" return +// GetEvaluationJobRequest generates a "aws/request.Request" representing the +// client's request for the GetEvaluationJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListCustomModels for more information on using the ListCustomModels +// See GetEvaluationJob for more information on using the GetEvaluationJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListCustomModelsRequest method. -// req, resp := client.ListCustomModelsRequest(params) +// // Example sending a request using the GetEvaluationJobRequest method. +// req, resp := client.GetEvaluationJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListCustomModels -func (c *Bedrock) ListCustomModelsRequest(input *ListCustomModelsInput) (req *request.Request, output *ListCustomModelsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetEvaluationJob +func (c *Bedrock) GetEvaluationJobRequest(input *GetEvaluationJobInput) (req *request.Request, output *GetEvaluationJobOutput) { op := &request.Operation{ - Name: opListCustomModels, + Name: opGetEvaluationJob, HTTPMethod: "GET", - HTTPPath: "/custom-models", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/evaluation-jobs/{jobIdentifier}", } if input == nil { - input = &ListCustomModelsInput{} + input = &GetEvaluationJobInput{} } - output = &ListCustomModelsOutput{} + output = &GetEvaluationJobOutput{} req = c.newRequest(op, input, output) return } -// ListCustomModels API operation for Amazon Bedrock. -// -// Returns a list of the custom models that you have created with the CreateModelCustomizationJob -// operation. +// GetEvaluationJob API operation for Amazon Bedrock. // -// For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// Retrieves the properties associated with a model evaluation job, including +// the status of the job. For more information, see Model evaluations (https://docs.aws.amazon.com/bedrock/latest/userguide/latest/userguide/model-evaluation.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation ListCustomModels for usage and error information. +// API operation GetEvaluationJob for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1051,135 +1121,86 @@ func (c *Bedrock) ListCustomModelsRequest(input *ListCustomModelsInput) (req *re // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListCustomModels -func (c *Bedrock) ListCustomModels(input *ListCustomModelsInput) (*ListCustomModelsOutput, error) { - req, out := c.ListCustomModelsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetEvaluationJob +func (c *Bedrock) GetEvaluationJob(input *GetEvaluationJobInput) (*GetEvaluationJobOutput, error) { + req, out := c.GetEvaluationJobRequest(input) return out, req.Send() } -// ListCustomModelsWithContext is the same as ListCustomModels with the addition of +// GetEvaluationJobWithContext is the same as GetEvaluationJob with the addition of // the ability to pass a context and additional request options. // -// See ListCustomModels for details on how to use this API operation. +// See GetEvaluationJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) ListCustomModelsWithContext(ctx aws.Context, input *ListCustomModelsInput, opts ...request.Option) (*ListCustomModelsOutput, error) { - req, out := c.ListCustomModelsRequest(input) +func (c *Bedrock) GetEvaluationJobWithContext(ctx aws.Context, input *GetEvaluationJobInput, opts ...request.Option) (*GetEvaluationJobOutput, error) { + req, out := c.GetEvaluationJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListCustomModelsPages iterates over the pages of a ListCustomModels operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetFoundationModel = "GetFoundationModel" + +// GetFoundationModelRequest generates a "aws/request.Request" representing the +// client's request for the GetFoundationModel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListCustomModels method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListCustomModels operation. -// pageNum := 0 -// err := client.ListCustomModelsPages(params, -// func(page *bedrock.ListCustomModelsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *Bedrock) ListCustomModelsPages(input *ListCustomModelsInput, fn func(*ListCustomModelsOutput, bool) bool) error { - return c.ListCustomModelsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListCustomModelsPagesWithContext same as ListCustomModelsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Bedrock) ListCustomModelsPagesWithContext(ctx aws.Context, input *ListCustomModelsInput, fn func(*ListCustomModelsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListCustomModelsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListCustomModelsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListCustomModelsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListFoundationModels = "ListFoundationModels" - -// ListFoundationModelsRequest generates a "aws/request.Request" representing the -// client's request for the ListFoundationModels operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListFoundationModels for more information on using the ListFoundationModels -// API call, and error handling. +// See GetFoundationModel for more information on using the GetFoundationModel +// API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListFoundationModelsRequest method. -// req, resp := client.ListFoundationModelsRequest(params) +// // Example sending a request using the GetFoundationModelRequest method. +// req, resp := client.GetFoundationModelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListFoundationModels -func (c *Bedrock) ListFoundationModelsRequest(input *ListFoundationModelsInput) (req *request.Request, output *ListFoundationModelsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetFoundationModel +func (c *Bedrock) GetFoundationModelRequest(input *GetFoundationModelInput) (req *request.Request, output *GetFoundationModelOutput) { op := &request.Operation{ - Name: opListFoundationModels, + Name: opGetFoundationModel, HTTPMethod: "GET", - HTTPPath: "/foundation-models", + HTTPPath: "/foundation-models/{modelIdentifier}", } if input == nil { - input = &ListFoundationModelsInput{} + input = &GetFoundationModelInput{} } - output = &ListFoundationModelsOutput{} + output = &GetFoundationModelOutput{} req = c.newRequest(op, input, output) return } -// ListFoundationModels API operation for Amazon Bedrock. +// GetFoundationModel API operation for Amazon Bedrock. // -// List of Amazon Bedrock foundation models that you can use. For more information, -// see Foundation models (https://docs.aws.amazon.com/bedrock/latest/userguide/foundation-models.html) -// in the Bedrock User Guide. +// Get details about a Amazon Bedrock foundation model. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation ListFoundationModels for usage and error information. +// API operation GetFoundationModel for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1192,92 +1213,87 @@ func (c *Bedrock) ListFoundationModelsRequest(input *ListFoundationModelsInput) // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListFoundationModels -func (c *Bedrock) ListFoundationModels(input *ListFoundationModelsInput) (*ListFoundationModelsOutput, error) { - req, out := c.ListFoundationModelsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetFoundationModel +func (c *Bedrock) GetFoundationModel(input *GetFoundationModelInput) (*GetFoundationModelOutput, error) { + req, out := c.GetFoundationModelRequest(input) return out, req.Send() } -// ListFoundationModelsWithContext is the same as ListFoundationModels with the addition of +// GetFoundationModelWithContext is the same as GetFoundationModel with the addition of // the ability to pass a context and additional request options. // -// See ListFoundationModels for details on how to use this API operation. +// See GetFoundationModel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) ListFoundationModelsWithContext(ctx aws.Context, input *ListFoundationModelsInput, opts ...request.Option) (*ListFoundationModelsOutput, error) { - req, out := c.ListFoundationModelsRequest(input) +func (c *Bedrock) GetFoundationModelWithContext(ctx aws.Context, input *GetFoundationModelInput, opts ...request.Option) (*GetFoundationModelOutput, error) { + req, out := c.GetFoundationModelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListModelCustomizationJobs = "ListModelCustomizationJobs" +const opGetGuardrail = "GetGuardrail" -// ListModelCustomizationJobsRequest generates a "aws/request.Request" representing the -// client's request for the ListModelCustomizationJobs operation. The "output" return +// GetGuardrailRequest generates a "aws/request.Request" representing the +// client's request for the GetGuardrail operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListModelCustomizationJobs for more information on using the ListModelCustomizationJobs +// See GetGuardrail for more information on using the GetGuardrail // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListModelCustomizationJobsRequest method. -// req, resp := client.ListModelCustomizationJobsRequest(params) +// // Example sending a request using the GetGuardrailRequest method. +// req, resp := client.GetGuardrailRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListModelCustomizationJobs -func (c *Bedrock) ListModelCustomizationJobsRequest(input *ListModelCustomizationJobsInput) (req *request.Request, output *ListModelCustomizationJobsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetGuardrail +func (c *Bedrock) GetGuardrailRequest(input *GetGuardrailInput) (req *request.Request, output *GetGuardrailOutput) { op := &request.Operation{ - Name: opListModelCustomizationJobs, + Name: opGetGuardrail, HTTPMethod: "GET", - HTTPPath: "/model-customization-jobs", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/guardrails/{guardrailIdentifier}", } if input == nil { - input = &ListModelCustomizationJobsInput{} + input = &GetGuardrailInput{} } - output = &ListModelCustomizationJobsOutput{} + output = &GetGuardrailOutput{} req = c.newRequest(op, input, output) return } -// ListModelCustomizationJobs API operation for Amazon Bedrock. -// -// Returns a list of model customization jobs that you have submitted. You can -// filter the jobs to return based on one or more criteria. +// GetGuardrail API operation for Amazon Bedrock. // -// For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// Gets details about a guardrail. If you don't specify a version, the response +// returns details for the DRAFT version. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation ListModelCustomizationJobs for usage and error information. +// API operation GetGuardrail for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1290,141 +1306,88 @@ func (c *Bedrock) ListModelCustomizationJobsRequest(input *ListModelCustomizatio // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListModelCustomizationJobs -func (c *Bedrock) ListModelCustomizationJobs(input *ListModelCustomizationJobsInput) (*ListModelCustomizationJobsOutput, error) { - req, out := c.ListModelCustomizationJobsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetGuardrail +func (c *Bedrock) GetGuardrail(input *GetGuardrailInput) (*GetGuardrailOutput, error) { + req, out := c.GetGuardrailRequest(input) return out, req.Send() } -// ListModelCustomizationJobsWithContext is the same as ListModelCustomizationJobs with the addition of +// GetGuardrailWithContext is the same as GetGuardrail with the addition of // the ability to pass a context and additional request options. // -// See ListModelCustomizationJobs for details on how to use this API operation. +// See GetGuardrail for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) ListModelCustomizationJobsWithContext(ctx aws.Context, input *ListModelCustomizationJobsInput, opts ...request.Option) (*ListModelCustomizationJobsOutput, error) { - req, out := c.ListModelCustomizationJobsRequest(input) +func (c *Bedrock) GetGuardrailWithContext(ctx aws.Context, input *GetGuardrailInput, opts ...request.Option) (*GetGuardrailOutput, error) { + req, out := c.GetGuardrailRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListModelCustomizationJobsPages iterates over the pages of a ListModelCustomizationJobs operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListModelCustomizationJobs method for more information on how to use this operation. -// -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a ListModelCustomizationJobs operation. -// pageNum := 0 -// err := client.ListModelCustomizationJobsPages(params, -// func(page *bedrock.ListModelCustomizationJobsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *Bedrock) ListModelCustomizationJobsPages(input *ListModelCustomizationJobsInput, fn func(*ListModelCustomizationJobsOutput, bool) bool) error { - return c.ListModelCustomizationJobsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListModelCustomizationJobsPagesWithContext same as ListModelCustomizationJobsPages except -// it takes a Context and allows setting request options on the pages. -// -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Bedrock) ListModelCustomizationJobsPagesWithContext(ctx aws.Context, input *ListModelCustomizationJobsInput, fn func(*ListModelCustomizationJobsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListModelCustomizationJobsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListModelCustomizationJobsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListModelCustomizationJobsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListProvisionedModelThroughputs = "ListProvisionedModelThroughputs" +const opGetModelCustomizationJob = "GetModelCustomizationJob" -// ListProvisionedModelThroughputsRequest generates a "aws/request.Request" representing the -// client's request for the ListProvisionedModelThroughputs operation. The "output" return +// GetModelCustomizationJobRequest generates a "aws/request.Request" representing the +// client's request for the GetModelCustomizationJob operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListProvisionedModelThroughputs for more information on using the ListProvisionedModelThroughputs +// See GetModelCustomizationJob for more information on using the GetModelCustomizationJob // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListProvisionedModelThroughputsRequest method. -// req, resp := client.ListProvisionedModelThroughputsRequest(params) +// // Example sending a request using the GetModelCustomizationJobRequest method. +// req, resp := client.GetModelCustomizationJobRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListProvisionedModelThroughputs -func (c *Bedrock) ListProvisionedModelThroughputsRequest(input *ListProvisionedModelThroughputsInput) (req *request.Request, output *ListProvisionedModelThroughputsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelCustomizationJob +func (c *Bedrock) GetModelCustomizationJobRequest(input *GetModelCustomizationJobInput) (req *request.Request, output *GetModelCustomizationJobOutput) { op := &request.Operation{ - Name: opListProvisionedModelThroughputs, + Name: opGetModelCustomizationJob, HTTPMethod: "GET", - HTTPPath: "/provisioned-model-throughputs", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/model-customization-jobs/{jobIdentifier}", } if input == nil { - input = &ListProvisionedModelThroughputsInput{} + input = &GetModelCustomizationJobInput{} } - output = &ListProvisionedModelThroughputsOutput{} + output = &GetModelCustomizationJobOutput{} req = c.newRequest(op, input, output) return } -// ListProvisionedModelThroughputs API operation for Amazon Bedrock. +// GetModelCustomizationJob API operation for Amazon Bedrock. // -// List the provisioned capacities. For more information, see Provisioned throughput -// (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Retrieves the properties associated with a model-customization job, including +// the status of the job. For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation ListProvisionedModelThroughputs for usage and error information. +// API operation GetModelCustomizationJob for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1437,229 +1400,173 @@ func (c *Bedrock) ListProvisionedModelThroughputsRequest(input *ListProvisionedM // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListProvisionedModelThroughputs -func (c *Bedrock) ListProvisionedModelThroughputs(input *ListProvisionedModelThroughputsInput) (*ListProvisionedModelThroughputsOutput, error) { - req, out := c.ListProvisionedModelThroughputsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelCustomizationJob +func (c *Bedrock) GetModelCustomizationJob(input *GetModelCustomizationJobInput) (*GetModelCustomizationJobOutput, error) { + req, out := c.GetModelCustomizationJobRequest(input) return out, req.Send() } -// ListProvisionedModelThroughputsWithContext is the same as ListProvisionedModelThroughputs with the addition of +// GetModelCustomizationJobWithContext is the same as GetModelCustomizationJob with the addition of // the ability to pass a context and additional request options. // -// See ListProvisionedModelThroughputs for details on how to use this API operation. +// See GetModelCustomizationJob for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) ListProvisionedModelThroughputsWithContext(ctx aws.Context, input *ListProvisionedModelThroughputsInput, opts ...request.Option) (*ListProvisionedModelThroughputsOutput, error) { - req, out := c.ListProvisionedModelThroughputsRequest(input) +func (c *Bedrock) GetModelCustomizationJobWithContext(ctx aws.Context, input *GetModelCustomizationJobInput, opts ...request.Option) (*GetModelCustomizationJobOutput, error) { + req, out := c.GetModelCustomizationJobRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProvisionedModelThroughputsPages iterates over the pages of a ListProvisionedModelThroughputs operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetModelInvocationLoggingConfiguration = "GetModelInvocationLoggingConfiguration" + +// GetModelInvocationLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the GetModelInvocationLoggingConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListProvisionedModelThroughputs method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See GetModelInvocationLoggingConfiguration for more information on using the GetModelInvocationLoggingConfiguration +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListProvisionedModelThroughputs operation. -// pageNum := 0 -// err := client.ListProvisionedModelThroughputsPages(params, -// func(page *bedrock.ListProvisionedModelThroughputsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *Bedrock) ListProvisionedModelThroughputsPages(input *ListProvisionedModelThroughputsInput, fn func(*ListProvisionedModelThroughputsOutput, bool) bool) error { - return c.ListProvisionedModelThroughputsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListProvisionedModelThroughputsPagesWithContext same as ListProvisionedModelThroughputsPages except -// it takes a Context and allows setting request options on the pages. +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// The context must be non-nil and will be used for request cancellation. If -// the context is nil a panic will occur. In the future the SDK may create -// sub-contexts for http.Requests. See https://golang.org/pkg/context/ -// for more information on using Contexts. -func (c *Bedrock) ListProvisionedModelThroughputsPagesWithContext(ctx aws.Context, input *ListProvisionedModelThroughputsInput, fn func(*ListProvisionedModelThroughputsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListProvisionedModelThroughputsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListProvisionedModelThroughputsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListProvisionedModelThroughputsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListTagsForResource = "ListTagsForResource" - -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// -// Use "Send" method on the returned Request to send the API call to the service. -// the "output" return value is not valid until after Send returns without error. -// -// See ListTagsForResource for more information on using the ListTagsForResource -// API call, and error handling. -// -// This method is useful when you want to inject custom logic or configuration -// into the SDK's request lifecycle. Such as custom headers, or retry logic. -// -// // Example sending a request using the ListTagsForResourceRequest method. -// req, resp := client.ListTagsForResourceRequest(params) +// // Example sending a request using the GetModelInvocationLoggingConfigurationRequest method. +// req, resp := client.GetModelInvocationLoggingConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListTagsForResource -func (c *Bedrock) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelInvocationLoggingConfiguration +func (c *Bedrock) GetModelInvocationLoggingConfigurationRequest(input *GetModelInvocationLoggingConfigurationInput) (req *request.Request, output *GetModelInvocationLoggingConfigurationOutput) { op := &request.Operation{ - Name: opListTagsForResource, - HTTPMethod: "POST", - HTTPPath: "/listTagsForResource", + Name: opGetModelInvocationLoggingConfiguration, + HTTPMethod: "GET", + HTTPPath: "/logging/modelinvocations", } if input == nil { - input = &ListTagsForResourceInput{} + input = &GetModelInvocationLoggingConfigurationInput{} } - output = &ListTagsForResourceOutput{} + output = &GetModelInvocationLoggingConfigurationOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for Amazon Bedrock. -// -// List the tags associated with the specified resource. +// GetModelInvocationLoggingConfiguration API operation for Amazon Bedrock. // -// For more information, see Tagging resources (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Get the current configuration values for model invocation logging. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation ListTagsForResource for usage and error information. +// API operation GetModelInvocationLoggingConfiguration for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. -// // - AccessDeniedException // The request is denied because of missing access permissions. // -// - ValidationException -// Input validation failed. Check your request parameters and retry the request. -// // - InternalServerException // An internal server error occurred. Retry your request. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListTagsForResource -func (c *Bedrock) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetModelInvocationLoggingConfiguration +func (c *Bedrock) GetModelInvocationLoggingConfiguration(input *GetModelInvocationLoggingConfigurationInput) (*GetModelInvocationLoggingConfigurationOutput, error) { + req, out := c.GetModelInvocationLoggingConfigurationRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// GetModelInvocationLoggingConfigurationWithContext is the same as GetModelInvocationLoggingConfiguration with the addition of // the ability to pass a context and additional request options. // -// See ListTagsForResource for details on how to use this API operation. +// See GetModelInvocationLoggingConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *Bedrock) GetModelInvocationLoggingConfigurationWithContext(ctx aws.Context, input *GetModelInvocationLoggingConfigurationInput, opts ...request.Option) (*GetModelInvocationLoggingConfigurationOutput, error) { + req, out := c.GetModelInvocationLoggingConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opPutModelInvocationLoggingConfiguration = "PutModelInvocationLoggingConfiguration" +const opGetProvisionedModelThroughput = "GetProvisionedModelThroughput" -// PutModelInvocationLoggingConfigurationRequest generates a "aws/request.Request" representing the -// client's request for the PutModelInvocationLoggingConfiguration operation. The "output" return +// GetProvisionedModelThroughputRequest generates a "aws/request.Request" representing the +// client's request for the GetProvisionedModelThroughput operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutModelInvocationLoggingConfiguration for more information on using the PutModelInvocationLoggingConfiguration +// See GetProvisionedModelThroughput for more information on using the GetProvisionedModelThroughput // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the PutModelInvocationLoggingConfigurationRequest method. -// req, resp := client.PutModelInvocationLoggingConfigurationRequest(params) +// // Example sending a request using the GetProvisionedModelThroughputRequest method. +// req, resp := client.GetProvisionedModelThroughputRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/PutModelInvocationLoggingConfiguration -func (c *Bedrock) PutModelInvocationLoggingConfigurationRequest(input *PutModelInvocationLoggingConfigurationInput) (req *request.Request, output *PutModelInvocationLoggingConfigurationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetProvisionedModelThroughput +func (c *Bedrock) GetProvisionedModelThroughputRequest(input *GetProvisionedModelThroughputInput) (req *request.Request, output *GetProvisionedModelThroughputOutput) { op := &request.Operation{ - Name: opPutModelInvocationLoggingConfiguration, - HTTPMethod: "PUT", - HTTPPath: "/logging/modelinvocations", + Name: opGetProvisionedModelThroughput, + HTTPMethod: "GET", + HTTPPath: "/provisioned-model-throughput/{provisionedModelId}", } if input == nil { - input = &PutModelInvocationLoggingConfigurationInput{} + input = &GetProvisionedModelThroughputInput{} } - output = &PutModelInvocationLoggingConfigurationOutput{} + output = &GetProvisionedModelThroughputOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutModelInvocationLoggingConfiguration API operation for Amazon Bedrock. +// GetProvisionedModelThroughput API operation for Amazon Bedrock. // -// Set the configuration values for model invocation logging. +// Returns details for a Provisioned Throughput. For more information, see Provisioned +// Throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation PutModelInvocationLoggingConfiguration for usage and error information. +// API operation GetProvisionedModelThroughput for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1672,187 +1579,237 @@ func (c *Bedrock) PutModelInvocationLoggingConfigurationRequest(input *PutModelI // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/PutModelInvocationLoggingConfiguration -func (c *Bedrock) PutModelInvocationLoggingConfiguration(input *PutModelInvocationLoggingConfigurationInput) (*PutModelInvocationLoggingConfigurationOutput, error) { - req, out := c.PutModelInvocationLoggingConfigurationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/GetProvisionedModelThroughput +func (c *Bedrock) GetProvisionedModelThroughput(input *GetProvisionedModelThroughputInput) (*GetProvisionedModelThroughputOutput, error) { + req, out := c.GetProvisionedModelThroughputRequest(input) return out, req.Send() } -// PutModelInvocationLoggingConfigurationWithContext is the same as PutModelInvocationLoggingConfiguration with the addition of +// GetProvisionedModelThroughputWithContext is the same as GetProvisionedModelThroughput with the addition of // the ability to pass a context and additional request options. // -// See PutModelInvocationLoggingConfiguration for details on how to use this API operation. +// See GetProvisionedModelThroughput for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) PutModelInvocationLoggingConfigurationWithContext(ctx aws.Context, input *PutModelInvocationLoggingConfigurationInput, opts ...request.Option) (*PutModelInvocationLoggingConfigurationOutput, error) { - req, out := c.PutModelInvocationLoggingConfigurationRequest(input) +func (c *Bedrock) GetProvisionedModelThroughputWithContext(ctx aws.Context, input *GetProvisionedModelThroughputInput, opts ...request.Option) (*GetProvisionedModelThroughputOutput, error) { + req, out := c.GetProvisionedModelThroughputRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStopModelCustomizationJob = "StopModelCustomizationJob" +const opListCustomModels = "ListCustomModels" -// StopModelCustomizationJobRequest generates a "aws/request.Request" representing the -// client's request for the StopModelCustomizationJob operation. The "output" return +// ListCustomModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomModels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See StopModelCustomizationJob for more information on using the StopModelCustomizationJob +// See ListCustomModels for more information on using the ListCustomModels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the StopModelCustomizationJobRequest method. -// req, resp := client.StopModelCustomizationJobRequest(params) +// // Example sending a request using the ListCustomModelsRequest method. +// req, resp := client.ListCustomModelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/StopModelCustomizationJob -func (c *Bedrock) StopModelCustomizationJobRequest(input *StopModelCustomizationJobInput) (req *request.Request, output *StopModelCustomizationJobOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListCustomModels +func (c *Bedrock) ListCustomModelsRequest(input *ListCustomModelsInput) (req *request.Request, output *ListCustomModelsOutput) { op := &request.Operation{ - Name: opStopModelCustomizationJob, - HTTPMethod: "POST", - HTTPPath: "/model-customization-jobs/{jobIdentifier}/stop", + Name: opListCustomModels, + HTTPMethod: "GET", + HTTPPath: "/custom-models", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &StopModelCustomizationJobInput{} + input = &ListCustomModelsInput{} } - output = &StopModelCustomizationJobOutput{} + output = &ListCustomModelsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// StopModelCustomizationJob API operation for Amazon Bedrock. +// ListCustomModels API operation for Amazon Bedrock. // -// Stops an active model customization job. For more information, see Custom -// models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) -// in the Bedrock User Guide. +// Returns a list of the custom models that you have created with the CreateModelCustomizationJob +// operation. +// +// For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation StopModelCustomizationJob for usage and error information. +// API operation ListCustomModels for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. -// // - AccessDeniedException // The request is denied because of missing access permissions. // // - ValidationException // Input validation failed. Check your request parameters and retry the request. // -// - ConflictException -// Error occurred because of a conflict while performing an operation. -// // - InternalServerException // An internal server error occurred. Retry your request. // // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/StopModelCustomizationJob -func (c *Bedrock) StopModelCustomizationJob(input *StopModelCustomizationJobInput) (*StopModelCustomizationJobOutput, error) { - req, out := c.StopModelCustomizationJobRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListCustomModels +func (c *Bedrock) ListCustomModels(input *ListCustomModelsInput) (*ListCustomModelsOutput, error) { + req, out := c.ListCustomModelsRequest(input) return out, req.Send() } -// StopModelCustomizationJobWithContext is the same as StopModelCustomizationJob with the addition of +// ListCustomModelsWithContext is the same as ListCustomModels with the addition of // the ability to pass a context and additional request options. // -// See StopModelCustomizationJob for details on how to use this API operation. +// See ListCustomModels for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) StopModelCustomizationJobWithContext(ctx aws.Context, input *StopModelCustomizationJobInput, opts ...request.Option) (*StopModelCustomizationJobOutput, error) { - req, out := c.StopModelCustomizationJobRequest(input) +func (c *Bedrock) ListCustomModelsWithContext(ctx aws.Context, input *ListCustomModelsInput, opts ...request.Option) (*ListCustomModelsOutput, error) { + req, out := c.ListCustomModelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +// ListCustomModelsPages iterates over the pages of a ListCustomModels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCustomModels method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListCustomModels operation. +// pageNum := 0 +// err := client.ListCustomModelsPages(params, +// func(page *bedrock.ListCustomModelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Bedrock) ListCustomModelsPages(input *ListCustomModelsInput, fn func(*ListCustomModelsOutput, bool) bool) error { + return c.ListCustomModelsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListCustomModelsPagesWithContext same as ListCustomModelsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListCustomModelsPagesWithContext(ctx aws.Context, input *ListCustomModelsInput, fn func(*ListCustomModelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCustomModelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCustomModelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCustomModelsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEvaluationJobs = "ListEvaluationJobs" + +// ListEvaluationJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListEvaluationJobs operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ListEvaluationJobs for more information on using the ListEvaluationJobs // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ListEvaluationJobsRequest method. +// req, resp := client.ListEvaluationJobsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/TagResource -func (c *Bedrock) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListEvaluationJobs +func (c *Bedrock) ListEvaluationJobsRequest(input *ListEvaluationJobsInput) (req *request.Request, output *ListEvaluationJobsOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/tagResource", - } - + Name: opListEvaluationJobs, + HTTPMethod: "GET", + HTTPPath: "/evaluation-jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + if input == nil { - input = &TagResourceInput{} + input = &ListEvaluationJobsInput{} } - output = &TagResourceOutput{} + output = &ListEvaluationJobsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Amazon Bedrock. +// ListEvaluationJobs API operation for Amazon Bedrock. // -// Associate tags with a resource. For more information, see Tagging resources -// (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Lists model evaluation jobs. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation TagResource for usage and error information. +// API operation ListEvaluationJobs for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. -// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1862,97 +1819,139 @@ func (c *Bedrock) TagResourceRequest(input *TagResourceInput) (req *request.Requ // - InternalServerException // An internal server error occurred. Retry your request. // -// - TooManyTagsException -// The request contains more tags than can be associated with a resource (50 -// tags per resource). The maximum number of tags includes both existing tags -// and those included in your current request. -// // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/TagResource -func (c *Bedrock) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListEvaluationJobs +func (c *Bedrock) ListEvaluationJobs(input *ListEvaluationJobsInput) (*ListEvaluationJobsOutput, error) { + req, out := c.ListEvaluationJobsRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListEvaluationJobsWithContext is the same as ListEvaluationJobs with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ListEvaluationJobs for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *Bedrock) ListEvaluationJobsWithContext(ctx aws.Context, input *ListEvaluationJobsInput, opts ...request.Option) (*ListEvaluationJobsOutput, error) { + req, out := c.ListEvaluationJobsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +// ListEvaluationJobsPages iterates over the pages of a ListEvaluationJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEvaluationJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListEvaluationJobs operation. +// pageNum := 0 +// err := client.ListEvaluationJobsPages(params, +// func(page *bedrock.ListEvaluationJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Bedrock) ListEvaluationJobsPages(input *ListEvaluationJobsInput, fn func(*ListEvaluationJobsOutput, bool) bool) error { + return c.ListEvaluationJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// ListEvaluationJobsPagesWithContext same as ListEvaluationJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListEvaluationJobsPagesWithContext(ctx aws.Context, input *ListEvaluationJobsInput, fn func(*ListEvaluationJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEvaluationJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEvaluationJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEvaluationJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListFoundationModels = "ListFoundationModels" + +// ListFoundationModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListFoundationModels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See ListFoundationModels for more information on using the ListFoundationModels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the ListFoundationModelsRequest method. +// req, resp := client.ListFoundationModelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UntagResource -func (c *Bedrock) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListFoundationModels +func (c *Bedrock) ListFoundationModelsRequest(input *ListFoundationModelsInput) (req *request.Request, output *ListFoundationModelsOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "POST", - HTTPPath: "/untagResource", + Name: opListFoundationModels, + HTTPMethod: "GET", + HTTPPath: "/foundation-models", } if input == nil { - input = &UntagResourceInput{} + input = &ListFoundationModelsInput{} } - output = &UntagResourceOutput{} + output = &ListFoundationModelsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for Amazon Bedrock. +// ListFoundationModels API operation for Amazon Bedrock. // -// Remove one or more tags from a resource. For more information, see Tagging -// resources (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Lists Amazon Bedrock foundation models that you can use. You can filter the +// results with the request parameters. For more information, see Foundation +// models (https://docs.aws.amazon.com/bedrock/latest/userguide/foundation-models.html) +// in the Amazon Bedrock User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation UntagResource for usage and error information. +// API operation ListFoundationModels for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. -// // - AccessDeniedException // The request is denied because of missing access permissions. // @@ -1965,88 +1964,99 @@ func (c *Bedrock) UntagResourceRequest(input *UntagResourceInput) (req *request. // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UntagResource -func (c *Bedrock) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListFoundationModels +func (c *Bedrock) ListFoundationModels(input *ListFoundationModelsInput) (*ListFoundationModelsOutput, error) { + req, out := c.ListFoundationModelsRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// ListFoundationModelsWithContext is the same as ListFoundationModels with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See ListFoundationModels for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *Bedrock) ListFoundationModelsWithContext(ctx aws.Context, input *ListFoundationModelsInput, opts ...request.Option) (*ListFoundationModelsOutput, error) { + req, out := c.ListFoundationModelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateProvisionedModelThroughput = "UpdateProvisionedModelThroughput" +const opListGuardrails = "ListGuardrails" -// UpdateProvisionedModelThroughputRequest generates a "aws/request.Request" representing the -// client's request for the UpdateProvisionedModelThroughput operation. The "output" return +// ListGuardrailsRequest generates a "aws/request.Request" representing the +// client's request for the ListGuardrails operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateProvisionedModelThroughput for more information on using the UpdateProvisionedModelThroughput +// See ListGuardrails for more information on using the ListGuardrails // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the UpdateProvisionedModelThroughputRequest method. -// req, resp := client.UpdateProvisionedModelThroughputRequest(params) +// // Example sending a request using the ListGuardrailsRequest method. +// req, resp := client.ListGuardrailsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateProvisionedModelThroughput -func (c *Bedrock) UpdateProvisionedModelThroughputRequest(input *UpdateProvisionedModelThroughputInput) (req *request.Request, output *UpdateProvisionedModelThroughputOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListGuardrails +func (c *Bedrock) ListGuardrailsRequest(input *ListGuardrailsInput) (req *request.Request, output *ListGuardrailsOutput) { op := &request.Operation{ - Name: opUpdateProvisionedModelThroughput, - HTTPMethod: "PATCH", - HTTPPath: "/provisioned-model-throughput/{provisionedModelId}", + Name: opListGuardrails, + HTTPMethod: "GET", + HTTPPath: "/guardrails", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateProvisionedModelThroughputInput{} + input = &ListGuardrailsInput{} } - output = &UpdateProvisionedModelThroughputOutput{} + output = &ListGuardrailsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateProvisionedModelThroughput API operation for Amazon Bedrock. +// ListGuardrails API operation for Amazon Bedrock. // -// Update a provisioned throughput. For more information, see Provisioned throughput -// (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html) -// in the Bedrock User Guide. +// Lists details about all the guardrails in an account. To list the DRAFT version +// of all your guardrails, don't specify the guardrailIdentifier field. To list +// all versions of a guardrail, specify the ARN of the guardrail in the guardrailIdentifier +// field. +// +// You can set the maximum number of results to return in a response in the +// maxResults field. If there are more results than the number you set, the +// response returns a nextToken that you can send in another ListGuardrails +// request to see the next batch of results. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Bedrock's -// API operation UpdateProvisionedModelThroughput for usage and error information. +// API operation ListGuardrails for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - AccessDeniedException // The request is denied because of missing access permissions. @@ -2060,116 +2070,3787 @@ func (c *Bedrock) UpdateProvisionedModelThroughputRequest(input *UpdateProvision // - ThrottlingException // The number of requests exceeds the limit. Resubmit your request later. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateProvisionedModelThroughput -func (c *Bedrock) UpdateProvisionedModelThroughput(input *UpdateProvisionedModelThroughputInput) (*UpdateProvisionedModelThroughputOutput, error) { - req, out := c.UpdateProvisionedModelThroughputRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListGuardrails +func (c *Bedrock) ListGuardrails(input *ListGuardrailsInput) (*ListGuardrailsOutput, error) { + req, out := c.ListGuardrailsRequest(input) return out, req.Send() } -// UpdateProvisionedModelThroughputWithContext is the same as UpdateProvisionedModelThroughput with the addition of +// ListGuardrailsWithContext is the same as ListGuardrails with the addition of // the ability to pass a context and additional request options. // -// See UpdateProvisionedModelThroughput for details on how to use this API operation. +// See ListGuardrails for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *Bedrock) UpdateProvisionedModelThroughputWithContext(ctx aws.Context, input *UpdateProvisionedModelThroughputInput, opts ...request.Option) (*UpdateProvisionedModelThroughputOutput, error) { - req, out := c.UpdateProvisionedModelThroughputRequest(input) +func (c *Bedrock) ListGuardrailsWithContext(ctx aws.Context, input *ListGuardrailsInput, opts ...request.Option) (*ListGuardrailsOutput, error) { + req, out := c.ListGuardrailsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// The request is denied because of missing access permissions. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` -} - -// String returns the string representation. +// ListGuardrailsPages iterates over the pages of a ListGuardrails operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// See ListGuardrails method for more information on how to use this operation. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { - return s.String() +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListGuardrails operation. +// pageNum := 0 +// err := client.ListGuardrailsPages(params, +// func(page *bedrock.ListGuardrailsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Bedrock) ListGuardrailsPages(input *ListGuardrailsInput, fn func(*ListGuardrailsOutput, bool) bool) error { + return c.ListGuardrailsPagesWithContext(aws.BackgroundContext(), input, fn) } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// ListGuardrailsPagesWithContext same as ListGuardrailsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListGuardrailsPagesWithContext(ctx aws.Context, input *ListGuardrailsInput, fn func(*ListGuardrailsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGuardrailsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGuardrailsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, } -} - -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + for p.Next() { + if !fn(p.Page().(*ListGuardrailsOutput), !p.HasNextPage()) { + break + } } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil -} - -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode -} -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID + return p.Err() } -// CloudWatch logging configuration. -type CloudWatchConfig struct { - _ struct{} `type:"structure"` - - // S3 configuration for delivering a large amount of data. - LargeDataDeliveryS3Config *S3Config `locationName:"largeDataDeliveryS3Config" type:"structure"` - - // The log group name. - // - // LogGroupName is a required field - LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` - - // The role ARN. - // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" type:"string" required:"true"` -} +const opListModelCustomizationJobs = "ListModelCustomizationJobs" -// String returns the string representation. +// ListModelCustomizationJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListModelCustomizationJobs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CloudWatchConfig) String() string { +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListModelCustomizationJobs for more information on using the ListModelCustomizationJobs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListModelCustomizationJobsRequest method. +// req, resp := client.ListModelCustomizationJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListModelCustomizationJobs +func (c *Bedrock) ListModelCustomizationJobsRequest(input *ListModelCustomizationJobsInput) (req *request.Request, output *ListModelCustomizationJobsOutput) { + op := &request.Operation{ + Name: opListModelCustomizationJobs, + HTTPMethod: "GET", + HTTPPath: "/model-customization-jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListModelCustomizationJobsInput{} + } + + output = &ListModelCustomizationJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListModelCustomizationJobs API operation for Amazon Bedrock. +// +// Returns a list of model customization jobs that you have submitted. You can +// filter the jobs to return based on one or more criteria. +// +// For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation ListModelCustomizationJobs for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListModelCustomizationJobs +func (c *Bedrock) ListModelCustomizationJobs(input *ListModelCustomizationJobsInput) (*ListModelCustomizationJobsOutput, error) { + req, out := c.ListModelCustomizationJobsRequest(input) + return out, req.Send() +} + +// ListModelCustomizationJobsWithContext is the same as ListModelCustomizationJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListModelCustomizationJobs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListModelCustomizationJobsWithContext(ctx aws.Context, input *ListModelCustomizationJobsInput, opts ...request.Option) (*ListModelCustomizationJobsOutput, error) { + req, out := c.ListModelCustomizationJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListModelCustomizationJobsPages iterates over the pages of a ListModelCustomizationJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListModelCustomizationJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListModelCustomizationJobs operation. +// pageNum := 0 +// err := client.ListModelCustomizationJobsPages(params, +// func(page *bedrock.ListModelCustomizationJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Bedrock) ListModelCustomizationJobsPages(input *ListModelCustomizationJobsInput, fn func(*ListModelCustomizationJobsOutput, bool) bool) error { + return c.ListModelCustomizationJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListModelCustomizationJobsPagesWithContext same as ListModelCustomizationJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListModelCustomizationJobsPagesWithContext(ctx aws.Context, input *ListModelCustomizationJobsInput, fn func(*ListModelCustomizationJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListModelCustomizationJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListModelCustomizationJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListModelCustomizationJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProvisionedModelThroughputs = "ListProvisionedModelThroughputs" + +// ListProvisionedModelThroughputsRequest generates a "aws/request.Request" representing the +// client's request for the ListProvisionedModelThroughputs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProvisionedModelThroughputs for more information on using the ListProvisionedModelThroughputs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListProvisionedModelThroughputsRequest method. +// req, resp := client.ListProvisionedModelThroughputsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListProvisionedModelThroughputs +func (c *Bedrock) ListProvisionedModelThroughputsRequest(input *ListProvisionedModelThroughputsInput) (req *request.Request, output *ListProvisionedModelThroughputsOutput) { + op := &request.Operation{ + Name: opListProvisionedModelThroughputs, + HTTPMethod: "GET", + HTTPPath: "/provisioned-model-throughputs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProvisionedModelThroughputsInput{} + } + + output = &ListProvisionedModelThroughputsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProvisionedModelThroughputs API operation for Amazon Bedrock. +// +// Lists the Provisioned Throughputs in the account. For more information, see +// Provisioned Throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) +// in the Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation ListProvisionedModelThroughputs for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListProvisionedModelThroughputs +func (c *Bedrock) ListProvisionedModelThroughputs(input *ListProvisionedModelThroughputsInput) (*ListProvisionedModelThroughputsOutput, error) { + req, out := c.ListProvisionedModelThroughputsRequest(input) + return out, req.Send() +} + +// ListProvisionedModelThroughputsWithContext is the same as ListProvisionedModelThroughputs with the addition of +// the ability to pass a context and additional request options. +// +// See ListProvisionedModelThroughputs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListProvisionedModelThroughputsWithContext(ctx aws.Context, input *ListProvisionedModelThroughputsInput, opts ...request.Option) (*ListProvisionedModelThroughputsOutput, error) { + req, out := c.ListProvisionedModelThroughputsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProvisionedModelThroughputsPages iterates over the pages of a ListProvisionedModelThroughputs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProvisionedModelThroughputs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProvisionedModelThroughputs operation. +// pageNum := 0 +// err := client.ListProvisionedModelThroughputsPages(params, +// func(page *bedrock.ListProvisionedModelThroughputsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Bedrock) ListProvisionedModelThroughputsPages(input *ListProvisionedModelThroughputsInput, fn func(*ListProvisionedModelThroughputsOutput, bool) bool) error { + return c.ListProvisionedModelThroughputsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProvisionedModelThroughputsPagesWithContext same as ListProvisionedModelThroughputsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListProvisionedModelThroughputsPagesWithContext(ctx aws.Context, input *ListProvisionedModelThroughputsInput, fn func(*ListProvisionedModelThroughputsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProvisionedModelThroughputsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProvisionedModelThroughputsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProvisionedModelThroughputsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListTagsForResource +func (c *Bedrock) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/listTagsForResource", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Bedrock. +// +// List the tags associated with the specified resource. +// +// For more information, see Tagging resources (https://docs.aws.amazon.com/bedrock/latest/userguide/tagging.html) +// in the Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/ListTagsForResource +func (c *Bedrock) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutModelInvocationLoggingConfiguration = "PutModelInvocationLoggingConfiguration" + +// PutModelInvocationLoggingConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the PutModelInvocationLoggingConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutModelInvocationLoggingConfiguration for more information on using the PutModelInvocationLoggingConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PutModelInvocationLoggingConfigurationRequest method. +// req, resp := client.PutModelInvocationLoggingConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/PutModelInvocationLoggingConfiguration +func (c *Bedrock) PutModelInvocationLoggingConfigurationRequest(input *PutModelInvocationLoggingConfigurationInput) (req *request.Request, output *PutModelInvocationLoggingConfigurationOutput) { + op := &request.Operation{ + Name: opPutModelInvocationLoggingConfiguration, + HTTPMethod: "PUT", + HTTPPath: "/logging/modelinvocations", + } + + if input == nil { + input = &PutModelInvocationLoggingConfigurationInput{} + } + + output = &PutModelInvocationLoggingConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutModelInvocationLoggingConfiguration API operation for Amazon Bedrock. +// +// Set the configuration values for model invocation logging. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation PutModelInvocationLoggingConfiguration for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/PutModelInvocationLoggingConfiguration +func (c *Bedrock) PutModelInvocationLoggingConfiguration(input *PutModelInvocationLoggingConfigurationInput) (*PutModelInvocationLoggingConfigurationOutput, error) { + req, out := c.PutModelInvocationLoggingConfigurationRequest(input) + return out, req.Send() +} + +// PutModelInvocationLoggingConfigurationWithContext is the same as PutModelInvocationLoggingConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See PutModelInvocationLoggingConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) PutModelInvocationLoggingConfigurationWithContext(ctx aws.Context, input *PutModelInvocationLoggingConfigurationInput, opts ...request.Option) (*PutModelInvocationLoggingConfigurationOutput, error) { + req, out := c.PutModelInvocationLoggingConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopEvaluationJob = "StopEvaluationJob" + +// StopEvaluationJobRequest generates a "aws/request.Request" representing the +// client's request for the StopEvaluationJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopEvaluationJob for more information on using the StopEvaluationJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StopEvaluationJobRequest method. +// req, resp := client.StopEvaluationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/StopEvaluationJob +func (c *Bedrock) StopEvaluationJobRequest(input *StopEvaluationJobInput) (req *request.Request, output *StopEvaluationJobOutput) { + op := &request.Operation{ + Name: opStopEvaluationJob, + HTTPMethod: "POST", + HTTPPath: "/evaluation-job/{jobIdentifier}/stop", + } + + if input == nil { + input = &StopEvaluationJobInput{} + } + + output = &StopEvaluationJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopEvaluationJob API operation for Amazon Bedrock. +// +// Stops an in progress model evaluation job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation StopEvaluationJob for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/StopEvaluationJob +func (c *Bedrock) StopEvaluationJob(input *StopEvaluationJobInput) (*StopEvaluationJobOutput, error) { + req, out := c.StopEvaluationJobRequest(input) + return out, req.Send() +} + +// StopEvaluationJobWithContext is the same as StopEvaluationJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopEvaluationJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) StopEvaluationJobWithContext(ctx aws.Context, input *StopEvaluationJobInput, opts ...request.Option) (*StopEvaluationJobOutput, error) { + req, out := c.StopEvaluationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopModelCustomizationJob = "StopModelCustomizationJob" + +// StopModelCustomizationJobRequest generates a "aws/request.Request" representing the +// client's request for the StopModelCustomizationJob operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StopModelCustomizationJob for more information on using the StopModelCustomizationJob +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StopModelCustomizationJobRequest method. +// req, resp := client.StopModelCustomizationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/StopModelCustomizationJob +func (c *Bedrock) StopModelCustomizationJobRequest(input *StopModelCustomizationJobInput) (req *request.Request, output *StopModelCustomizationJobOutput) { + op := &request.Operation{ + Name: opStopModelCustomizationJob, + HTTPMethod: "POST", + HTTPPath: "/model-customization-jobs/{jobIdentifier}/stop", + } + + if input == nil { + input = &StopModelCustomizationJobInput{} + } + + output = &StopModelCustomizationJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StopModelCustomizationJob API operation for Amazon Bedrock. +// +// Stops an active model customization job. For more information, see Custom +// models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) +// in the Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation StopModelCustomizationJob for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/StopModelCustomizationJob +func (c *Bedrock) StopModelCustomizationJob(input *StopModelCustomizationJobInput) (*StopModelCustomizationJobOutput, error) { + req, out := c.StopModelCustomizationJobRequest(input) + return out, req.Send() +} + +// StopModelCustomizationJobWithContext is the same as StopModelCustomizationJob with the addition of +// the ability to pass a context and additional request options. +// +// See StopModelCustomizationJob for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) StopModelCustomizationJobWithContext(ctx aws.Context, input *StopModelCustomizationJobInput, opts ...request.Option) (*StopModelCustomizationJobOutput, error) { + req, out := c.StopModelCustomizationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/TagResource +func (c *Bedrock) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tagResource", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Bedrock. +// +// Associate tags with a resource. For more information, see Tagging resources +// (https://docs.aws.amazon.com/bedrock/latest/userguide/tagging.html) in the +// Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - TooManyTagsException +// The request contains more tags than can be associated with a resource (50 +// tags per resource). The maximum number of tags includes both existing tags +// and those included in your current request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/TagResource +func (c *Bedrock) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UntagResource +func (c *Bedrock) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/untagResource", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Bedrock. +// +// Remove one or more tags from a resource. For more information, see Tagging +// resources (https://docs.aws.amazon.com/bedrock/latest/userguide/tagging.html) +// in the Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UntagResource +func (c *Bedrock) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGuardrail = "UpdateGuardrail" + +// UpdateGuardrailRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGuardrail operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateGuardrail for more information on using the UpdateGuardrail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateGuardrailRequest method. +// req, resp := client.UpdateGuardrailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateGuardrail +func (c *Bedrock) UpdateGuardrailRequest(input *UpdateGuardrailInput) (req *request.Request, output *UpdateGuardrailOutput) { + op := &request.Operation{ + Name: opUpdateGuardrail, + HTTPMethod: "PUT", + HTTPPath: "/guardrails/{guardrailIdentifier}", + } + + if input == nil { + input = &UpdateGuardrailInput{} + } + + output = &UpdateGuardrailOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGuardrail API operation for Amazon Bedrock. +// +// Updates a guardrail with the values you specify. +// +// - Specify a name and optional description. +// +// - Specify messages for when the guardrail successfully blocks a prompt +// or a model response in the blockedInputMessaging and blockedOutputsMessaging +// fields. +// +// - Specify topics for the guardrail to deny in the topicPolicyConfig object. +// Each GuardrailTopicConfig (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailTopicConfig.html) +// object in the topicsConfig list pertains to one topic. Give a name and +// description so that the guardrail can properly identify the topic. Specify +// DENY in the type field. (Optional) Provide up to five prompts that you +// would categorize as belonging to the topic in the examples list. +// +// - Specify filter strengths for the harmful categories defined in Amazon +// Bedrock in the contentPolicyConfig object. Each GuardrailContentFilterConfig +// (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailContentFilterConfig.html) +// object in the filtersConfig list pertains to a harmful category. For more +// information, see Content filters (https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-filters). +// For more information about the fields in a content filter, see GuardrailContentFilterConfig +// (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailContentFilterConfig.html). +// Specify the category in the type field. Specify the strength of the filter +// for prompts in the inputStrength field and for model responses in the +// strength field of the GuardrailContentFilterConfig (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GuardrailContentFilterConfig.html). +// +// - (Optional) For security, include the ARN of a KMS key in the kmsKeyId +// field. +// +// - (Optional) Attach any tags to the guardrail in the tags object. For +// more information, see Tag resources (https://docs.aws.amazon.com/bedrock/latest/userguide/tagging). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation UpdateGuardrail for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - ConflictException +// Error occurred because of a conflict while performing an operation. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ServiceQuotaExceededException +// The number of requests exceeds the service quota. Resubmit your request later. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateGuardrail +func (c *Bedrock) UpdateGuardrail(input *UpdateGuardrailInput) (*UpdateGuardrailOutput, error) { + req, out := c.UpdateGuardrailRequest(input) + return out, req.Send() +} + +// UpdateGuardrailWithContext is the same as UpdateGuardrail with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGuardrail for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) UpdateGuardrailWithContext(ctx aws.Context, input *UpdateGuardrailInput, opts ...request.Option) (*UpdateGuardrailOutput, error) { + req, out := c.UpdateGuardrailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProvisionedModelThroughput = "UpdateProvisionedModelThroughput" + +// UpdateProvisionedModelThroughputRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProvisionedModelThroughput operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProvisionedModelThroughput for more information on using the UpdateProvisionedModelThroughput +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateProvisionedModelThroughputRequest method. +// req, resp := client.UpdateProvisionedModelThroughputRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateProvisionedModelThroughput +func (c *Bedrock) UpdateProvisionedModelThroughputRequest(input *UpdateProvisionedModelThroughputInput) (req *request.Request, output *UpdateProvisionedModelThroughputOutput) { + op := &request.Operation{ + Name: opUpdateProvisionedModelThroughput, + HTTPMethod: "PATCH", + HTTPPath: "/provisioned-model-throughput/{provisionedModelId}", + } + + if input == nil { + input = &UpdateProvisionedModelThroughputInput{} + } + + output = &UpdateProvisionedModelThroughputOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateProvisionedModelThroughput API operation for Amazon Bedrock. +// +// Updates the name or associated model for a Provisioned Throughput. For more +// information, see Provisioned Throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) +// in the Amazon Bedrock User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Bedrock's +// API operation UpdateProvisionedModelThroughput for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. +// +// - AccessDeniedException +// The request is denied because of missing access permissions. +// +// - ValidationException +// Input validation failed. Check your request parameters and retry the request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// - ThrottlingException +// The number of requests exceeds the limit. Resubmit your request later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20/UpdateProvisionedModelThroughput +func (c *Bedrock) UpdateProvisionedModelThroughput(input *UpdateProvisionedModelThroughputInput) (*UpdateProvisionedModelThroughputOutput, error) { + req, out := c.UpdateProvisionedModelThroughputRequest(input) + return out, req.Send() +} + +// UpdateProvisionedModelThroughputWithContext is the same as UpdateProvisionedModelThroughput with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProvisionedModelThroughput for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Bedrock) UpdateProvisionedModelThroughputWithContext(ctx aws.Context, input *UpdateProvisionedModelThroughputInput, opts ...request.Option) (*UpdateProvisionedModelThroughputOutput, error) { + req, out := c.UpdateProvisionedModelThroughputRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The request is denied because of missing access permissions. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Use to specify a automatic model evaluation job. The EvaluationDatasetMetricConfig +// object is used to specify the prompt datasets, task type, and metric names. +type AutomatedEvaluationConfig struct { + _ struct{} `type:"structure"` + + // Specifies the required elements for an automatic model evaluation job. + // + // DatasetMetricConfigs is a required field + DatasetMetricConfigs []*EvaluationDatasetMetricConfig `locationName:"datasetMetricConfigs" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AutomatedEvaluationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AutomatedEvaluationConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AutomatedEvaluationConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AutomatedEvaluationConfig"} + if s.DatasetMetricConfigs == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetMetricConfigs")) + } + if s.DatasetMetricConfigs != nil && len(s.DatasetMetricConfigs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatasetMetricConfigs", 1)) + } + if s.DatasetMetricConfigs != nil { + for i, v := range s.DatasetMetricConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DatasetMetricConfigs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetMetricConfigs sets the DatasetMetricConfigs field's value. +func (s *AutomatedEvaluationConfig) SetDatasetMetricConfigs(v []*EvaluationDatasetMetricConfig) *AutomatedEvaluationConfig { + s.DatasetMetricConfigs = v + return s +} + +// CloudWatch logging configuration. +type CloudWatchConfig struct { + _ struct{} `type:"structure"` + + // S3 configuration for delivering a large amount of data. + LargeDataDeliveryS3Config *S3Config `locationName:"largeDataDeliveryS3Config" type:"structure"` + + // The log group name. + // + // LogGroupName is a required field + LogGroupName *string `locationName:"logGroupName" min:"1" type:"string" required:"true"` + + // The role Amazon Resource Name (ARN). + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CloudWatchConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CloudWatchConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchConfig"} + if s.LogGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("LogGroupName")) + } + if s.LogGroupName != nil && len(*s.LogGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.LargeDataDeliveryS3Config != nil { + if err := s.LargeDataDeliveryS3Config.Validate(); err != nil { + invalidParams.AddNested("LargeDataDeliveryS3Config", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLargeDataDeliveryS3Config sets the LargeDataDeliveryS3Config field's value. +func (s *CloudWatchConfig) SetLargeDataDeliveryS3Config(v *S3Config) *CloudWatchConfig { + s.LargeDataDeliveryS3Config = v + return s +} + +// SetLogGroupName sets the LogGroupName field's value. +func (s *CloudWatchConfig) SetLogGroupName(v string) *CloudWatchConfig { + s.LogGroupName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CloudWatchConfig) SetRoleArn(v string) *CloudWatchConfig { + s.RoleArn = &v + return s +} + +// Error occurred because of a conflict while performing an operation. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateEvaluationJobInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier to ensure that the API request completes + // no more than one time. If this token matches a previous request, Amazon Bedrock + // ignores the request, but does not return an error. For more information, + // see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // Specify your customer managed key ARN that will be used to encrypt your model + // evaluation job. + CustomerEncryptionKeyId *string `locationName:"customerEncryptionKeyId" min:"1" type:"string"` + + // Specifies whether the model evaluation job is automatic or uses human worker. + // + // EvaluationConfig is a required field + EvaluationConfig *EvaluationConfig `locationName:"evaluationConfig" type:"structure" required:"true"` + + // Specify the models you want to use in your model evaluation job. Automatic + // model evaluation jobs support a single model, and model evaluation job that + // use human workers support two models. + // + // InferenceConfig is a required field + InferenceConfig *EvaluationInferenceConfig `locationName:"inferenceConfig" type:"structure" required:"true"` + + // A description of the model evaluation job. + // + // JobDescription is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateEvaluationJobInput's + // String and GoString methods. + JobDescription *string `locationName:"jobDescription" min:"1" type:"string" sensitive:"true"` + + // The name of the model evaluation job. Model evaluation job names must unique + // with your AWS account, and your account's AWS region. + // + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + + // Tags to attach to the model evaluation job. + JobTags []*Tag `locationName:"jobTags" type:"list"` + + // An object that defines where the results of model evaluation job will be + // saved in Amazon S3. + // + // OutputDataConfig is a required field + OutputDataConfig *EvaluationOutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock + // can assume to perform tasks on your behalf. The service role must have Amazon + // Bedrock as the service principal, and provide access to any Amazon S3 buckets + // specified in the EvaluationConfig object. To pass this role to Amazon Bedrock, + // the caller of this API must have the iam:PassRole permission. To learn more + // about the required permissions, see Required permissions (https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-security.html). + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEvaluationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEvaluationJobInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.CustomerEncryptionKeyId != nil && len(*s.CustomerEncryptionKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomerEncryptionKeyId", 1)) + } + if s.EvaluationConfig == nil { + invalidParams.Add(request.NewErrParamRequired("EvaluationConfig")) + } + if s.InferenceConfig == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceConfig")) + } + if s.JobDescription != nil && len(*s.JobDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobDescription", 1)) + } + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.OutputDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.EvaluationConfig != nil { + if err := s.EvaluationConfig.Validate(); err != nil { + invalidParams.AddNested("EvaluationConfig", err.(request.ErrInvalidParams)) + } + } + if s.InferenceConfig != nil { + if err := s.InferenceConfig.Validate(); err != nil { + invalidParams.AddNested("InferenceConfig", err.(request.ErrInvalidParams)) + } + } + if s.JobTags != nil { + for i, v := range s.JobTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "JobTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputDataConfig != nil { + if err := s.OutputDataConfig.Validate(); err != nil { + invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateEvaluationJobInput) SetClientRequestToken(v string) *CreateEvaluationJobInput { + s.ClientRequestToken = &v + return s +} + +// SetCustomerEncryptionKeyId sets the CustomerEncryptionKeyId field's value. +func (s *CreateEvaluationJobInput) SetCustomerEncryptionKeyId(v string) *CreateEvaluationJobInput { + s.CustomerEncryptionKeyId = &v + return s +} + +// SetEvaluationConfig sets the EvaluationConfig field's value. +func (s *CreateEvaluationJobInput) SetEvaluationConfig(v *EvaluationConfig) *CreateEvaluationJobInput { + s.EvaluationConfig = v + return s +} + +// SetInferenceConfig sets the InferenceConfig field's value. +func (s *CreateEvaluationJobInput) SetInferenceConfig(v *EvaluationInferenceConfig) *CreateEvaluationJobInput { + s.InferenceConfig = v + return s +} + +// SetJobDescription sets the JobDescription field's value. +func (s *CreateEvaluationJobInput) SetJobDescription(v string) *CreateEvaluationJobInput { + s.JobDescription = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *CreateEvaluationJobInput) SetJobName(v string) *CreateEvaluationJobInput { + s.JobName = &v + return s +} + +// SetJobTags sets the JobTags field's value. +func (s *CreateEvaluationJobInput) SetJobTags(v []*Tag) *CreateEvaluationJobInput { + s.JobTags = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *CreateEvaluationJobInput) SetOutputDataConfig(v *EvaluationOutputDataConfig) *CreateEvaluationJobInput { + s.OutputDataConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateEvaluationJobInput) SetRoleArn(v string) *CreateEvaluationJobInput { + s.RoleArn = &v + return s +} + +type CreateEvaluationJobOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the model evaluation job. + // + // JobArn is a required field + JobArn *string `locationName:"jobArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateEvaluationJobOutput) GoString() string { + return s.String() +} + +// SetJobArn sets the JobArn field's value. +func (s *CreateEvaluationJobOutput) SetJobArn(v string) *CreateEvaluationJobOutput { + s.JobArn = &v + return s +} + +type CreateGuardrailInput struct { + _ struct{} `type:"structure"` + + // The message to return when the guardrail blocks a prompt. + // + // BlockedInputMessaging is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateGuardrailInput's + // String and GoString methods. + // + // BlockedInputMessaging is a required field + BlockedInputMessaging *string `locationName:"blockedInputMessaging" min:"1" type:"string" required:"true" sensitive:"true"` + + // The message to return when the guardrail blocks a model response. + // + // BlockedOutputsMessaging is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateGuardrailInput's + // String and GoString methods. + // + // BlockedOutputsMessaging is a required field + BlockedOutputsMessaging *string `locationName:"blockedOutputsMessaging" min:"1" type:"string" required:"true" sensitive:"true"` + + // A unique, case-sensitive identifier to ensure that the API request completes + // no more than once. If this token matches a previous request, Amazon Bedrock + // ignores the request, but does not return an error. For more information, + // see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon S3 User Guide. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // The content filter policies to configure for the guardrail. + ContentPolicyConfig *GuardrailContentPolicyConfig `locationName:"contentPolicyConfig" type:"structure"` + + // A description of the guardrail. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateGuardrailInput's + // String and GoString methods. + Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` + + // The ARN of the KMS key that you use to encrypt the guardrail. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // The name to give the guardrail. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateGuardrailInput's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` + + // The sensitive information policy to configure for the guardrail. + SensitiveInformationPolicyConfig *GuardrailSensitiveInformationPolicyConfig `locationName:"sensitiveInformationPolicyConfig" type:"structure"` + + // The tags that you want to attach to the guardrail. + Tags []*Tag `locationName:"tags" type:"list"` + + // The topic policies to configure for the guardrail. + TopicPolicyConfig *GuardrailTopicPolicyConfig `locationName:"topicPolicyConfig" type:"structure"` + + // The word policy you configure for the guardrail. + WordPolicyConfig *GuardrailWordPolicyConfig `locationName:"wordPolicyConfig" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGuardrailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGuardrailInput"} + if s.BlockedInputMessaging == nil { + invalidParams.Add(request.NewErrParamRequired("BlockedInputMessaging")) + } + if s.BlockedInputMessaging != nil && len(*s.BlockedInputMessaging) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlockedInputMessaging", 1)) + } + if s.BlockedOutputsMessaging == nil { + invalidParams.Add(request.NewErrParamRequired("BlockedOutputsMessaging")) + } + if s.BlockedOutputsMessaging != nil && len(*s.BlockedOutputsMessaging) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlockedOutputsMessaging", 1)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ContentPolicyConfig != nil { + if err := s.ContentPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("ContentPolicyConfig", err.(request.ErrInvalidParams)) + } + } + if s.SensitiveInformationPolicyConfig != nil { + if err := s.SensitiveInformationPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("SensitiveInformationPolicyConfig", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.TopicPolicyConfig != nil { + if err := s.TopicPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("TopicPolicyConfig", err.(request.ErrInvalidParams)) + } + } + if s.WordPolicyConfig != nil { + if err := s.WordPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("WordPolicyConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBlockedInputMessaging sets the BlockedInputMessaging field's value. +func (s *CreateGuardrailInput) SetBlockedInputMessaging(v string) *CreateGuardrailInput { + s.BlockedInputMessaging = &v + return s +} + +// SetBlockedOutputsMessaging sets the BlockedOutputsMessaging field's value. +func (s *CreateGuardrailInput) SetBlockedOutputsMessaging(v string) *CreateGuardrailInput { + s.BlockedOutputsMessaging = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateGuardrailInput) SetClientRequestToken(v string) *CreateGuardrailInput { + s.ClientRequestToken = &v + return s +} + +// SetContentPolicyConfig sets the ContentPolicyConfig field's value. +func (s *CreateGuardrailInput) SetContentPolicyConfig(v *GuardrailContentPolicyConfig) *CreateGuardrailInput { + s.ContentPolicyConfig = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateGuardrailInput) SetDescription(v string) *CreateGuardrailInput { + s.Description = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateGuardrailInput) SetKmsKeyId(v string) *CreateGuardrailInput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateGuardrailInput) SetName(v string) *CreateGuardrailInput { + s.Name = &v + return s +} + +// SetSensitiveInformationPolicyConfig sets the SensitiveInformationPolicyConfig field's value. +func (s *CreateGuardrailInput) SetSensitiveInformationPolicyConfig(v *GuardrailSensitiveInformationPolicyConfig) *CreateGuardrailInput { + s.SensitiveInformationPolicyConfig = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateGuardrailInput) SetTags(v []*Tag) *CreateGuardrailInput { + s.Tags = v + return s +} + +// SetTopicPolicyConfig sets the TopicPolicyConfig field's value. +func (s *CreateGuardrailInput) SetTopicPolicyConfig(v *GuardrailTopicPolicyConfig) *CreateGuardrailInput { + s.TopicPolicyConfig = v + return s +} + +// SetWordPolicyConfig sets the WordPolicyConfig field's value. +func (s *CreateGuardrailInput) SetWordPolicyConfig(v *GuardrailWordPolicyConfig) *CreateGuardrailInput { + s.WordPolicyConfig = v + return s +} + +type CreateGuardrailOutput struct { + _ struct{} `type:"structure"` + + // The time at which the guardrail was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The ARN of the guardrail that was created. + // + // GuardrailArn is a required field + GuardrailArn *string `locationName:"guardrailArn" type:"string" required:"true"` + + // The unique identifier of the guardrail that was created. + // + // GuardrailId is a required field + GuardrailId *string `locationName:"guardrailId" type:"string" required:"true"` + + // The version of the guardrail that was created. This value should be 1. + // + // Version is a required field + Version *string `locationName:"version" min:"5" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *CreateGuardrailOutput) SetCreatedAt(v time.Time) *CreateGuardrailOutput { + s.CreatedAt = &v + return s +} + +// SetGuardrailArn sets the GuardrailArn field's value. +func (s *CreateGuardrailOutput) SetGuardrailArn(v string) *CreateGuardrailOutput { + s.GuardrailArn = &v + return s +} + +// SetGuardrailId sets the GuardrailId field's value. +func (s *CreateGuardrailOutput) SetGuardrailId(v string) *CreateGuardrailOutput { + s.GuardrailId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *CreateGuardrailOutput) SetVersion(v string) *CreateGuardrailOutput { + s.Version = &v + return s +} + +type CreateGuardrailVersionInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier to ensure that the API request completes + // no more than once. If this token matches a previous request, Amazon Bedrock + // ignores the request, but does not return an error. For more information, + // see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon S3 User Guide. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // A description of the guardrail version. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateGuardrailVersionInput's + // String and GoString methods. + Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` + + // The unique identifier of the guardrail. + // + // GuardrailIdentifier is a required field + GuardrailIdentifier *string `location:"uri" locationName:"guardrailIdentifier" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGuardrailVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGuardrailVersionInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GuardrailIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("GuardrailIdentifier")) + } + if s.GuardrailIdentifier != nil && len(*s.GuardrailIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GuardrailIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateGuardrailVersionInput) SetClientRequestToken(v string) *CreateGuardrailVersionInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateGuardrailVersionInput) SetDescription(v string) *CreateGuardrailVersionInput { + s.Description = &v + return s +} + +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *CreateGuardrailVersionInput) SetGuardrailIdentifier(v string) *CreateGuardrailVersionInput { + s.GuardrailIdentifier = &v + return s +} + +type CreateGuardrailVersionOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the guardrail. + // + // GuardrailId is a required field + GuardrailId *string `locationName:"guardrailId" type:"string" required:"true"` + + // The number of the version of the guardrail. + // + // Version is a required field + Version *string `locationName:"version" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGuardrailVersionOutput) GoString() string { + return s.String() +} + +// SetGuardrailId sets the GuardrailId field's value. +func (s *CreateGuardrailVersionOutput) SetGuardrailId(v string) *CreateGuardrailVersionOutput { + s.GuardrailId = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *CreateGuardrailVersionOutput) SetVersion(v string) *CreateGuardrailVersionOutput { + s.Version = &v + return s +} + +type CreateModelCustomizationJobInput struct { + _ struct{} `type:"structure"` + + // Name of the base model. + // + // BaseModelIdentifier is a required field + BaseModelIdentifier *string `locationName:"baseModelIdentifier" min:"1" type:"string" required:"true"` + + // A unique, case-sensitive identifier to ensure that the API request completes + // no more than one time. If this token matches a previous request, Amazon Bedrock + // ignores the request, but does not return an error. For more information, + // see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // The custom model is encrypted at rest using this key. + CustomModelKmsKeyId *string `locationName:"customModelKmsKeyId" min:"1" type:"string"` + + // A name for the resulting custom model. + // + // CustomModelName is a required field + CustomModelName *string `locationName:"customModelName" min:"1" type:"string" required:"true"` + + // Tags to attach to the resulting custom model. + CustomModelTags []*Tag `locationName:"customModelTags" type:"list"` + + // The customization type. + CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` + + // Parameters related to tuning the model. For details on the format for different + // models, see Custom model hyperparameters (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html). + // + // HyperParameters is a required field + HyperParameters map[string]*string `locationName:"hyperParameters" type:"map" required:"true"` + + // A name for the fine-tuning job. + // + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + + // Tags to attach to the job. + JobTags []*Tag `locationName:"jobTags" type:"list"` + + // S3 location for the output data. + // + // OutputDataConfig is a required field + OutputDataConfig *OutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock + // can assume to perform tasks on your behalf. For example, during model training, + // Amazon Bedrock needs your permission to read input data from an S3 bucket, + // write model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, + // the caller of this API must have the iam:PassRole permission. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // Information about the training dataset. + // + // TrainingDataConfig is a required field + TrainingDataConfig *TrainingDataConfig `locationName:"trainingDataConfig" type:"structure" required:"true"` + + // Information about the validation dataset. + ValidationDataConfig *ValidationDataConfig `locationName:"validationDataConfig" type:"structure"` + + // VPC configuration (optional). Configuration parameters for the private Virtual + // Private Cloud (VPC) that contains the resources you are using for this job. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateModelCustomizationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateModelCustomizationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateModelCustomizationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateModelCustomizationJobInput"} + if s.BaseModelIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("BaseModelIdentifier")) + } + if s.BaseModelIdentifier != nil && len(*s.BaseModelIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BaseModelIdentifier", 1)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.CustomModelKmsKeyId != nil && len(*s.CustomModelKmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomModelKmsKeyId", 1)) + } + if s.CustomModelName == nil { + invalidParams.Add(request.NewErrParamRequired("CustomModelName")) + } + if s.CustomModelName != nil && len(*s.CustomModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomModelName", 1)) + } + if s.HyperParameters == nil { + invalidParams.Add(request.NewErrParamRequired("HyperParameters")) + } + if s.JobName == nil { + invalidParams.Add(request.NewErrParamRequired("JobName")) + } + if s.JobName != nil && len(*s.JobName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) + } + if s.OutputDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.TrainingDataConfig == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingDataConfig")) + } + if s.CustomModelTags != nil { + for i, v := range s.CustomModelTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomModelTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.JobTags != nil { + for i, v := range s.JobTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "JobTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputDataConfig != nil { + if err := s.OutputDataConfig.Validate(); err != nil { + invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams)) + } + } + if s.TrainingDataConfig != nil { + if err := s.TrainingDataConfig.Validate(); err != nil { + invalidParams.AddNested("TrainingDataConfig", err.(request.ErrInvalidParams)) + } + } + if s.ValidationDataConfig != nil { + if err := s.ValidationDataConfig.Validate(); err != nil { + invalidParams.AddNested("ValidationDataConfig", err.(request.ErrInvalidParams)) + } + } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBaseModelIdentifier sets the BaseModelIdentifier field's value. +func (s *CreateModelCustomizationJobInput) SetBaseModelIdentifier(v string) *CreateModelCustomizationJobInput { + s.BaseModelIdentifier = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateModelCustomizationJobInput) SetClientRequestToken(v string) *CreateModelCustomizationJobInput { + s.ClientRequestToken = &v + return s +} + +// SetCustomModelKmsKeyId sets the CustomModelKmsKeyId field's value. +func (s *CreateModelCustomizationJobInput) SetCustomModelKmsKeyId(v string) *CreateModelCustomizationJobInput { + s.CustomModelKmsKeyId = &v + return s +} + +// SetCustomModelName sets the CustomModelName field's value. +func (s *CreateModelCustomizationJobInput) SetCustomModelName(v string) *CreateModelCustomizationJobInput { + s.CustomModelName = &v + return s +} + +// SetCustomModelTags sets the CustomModelTags field's value. +func (s *CreateModelCustomizationJobInput) SetCustomModelTags(v []*Tag) *CreateModelCustomizationJobInput { + s.CustomModelTags = v + return s +} + +// SetCustomizationType sets the CustomizationType field's value. +func (s *CreateModelCustomizationJobInput) SetCustomizationType(v string) *CreateModelCustomizationJobInput { + s.CustomizationType = &v + return s +} + +// SetHyperParameters sets the HyperParameters field's value. +func (s *CreateModelCustomizationJobInput) SetHyperParameters(v map[string]*string) *CreateModelCustomizationJobInput { + s.HyperParameters = v + return s +} + +// SetJobName sets the JobName field's value. +func (s *CreateModelCustomizationJobInput) SetJobName(v string) *CreateModelCustomizationJobInput { + s.JobName = &v + return s +} + +// SetJobTags sets the JobTags field's value. +func (s *CreateModelCustomizationJobInput) SetJobTags(v []*Tag) *CreateModelCustomizationJobInput { + s.JobTags = v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *CreateModelCustomizationJobInput) SetOutputDataConfig(v *OutputDataConfig) *CreateModelCustomizationJobInput { + s.OutputDataConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateModelCustomizationJobInput) SetRoleArn(v string) *CreateModelCustomizationJobInput { + s.RoleArn = &v + return s +} + +// SetTrainingDataConfig sets the TrainingDataConfig field's value. +func (s *CreateModelCustomizationJobInput) SetTrainingDataConfig(v *TrainingDataConfig) *CreateModelCustomizationJobInput { + s.TrainingDataConfig = v + return s +} + +// SetValidationDataConfig sets the ValidationDataConfig field's value. +func (s *CreateModelCustomizationJobInput) SetValidationDataConfig(v *ValidationDataConfig) *CreateModelCustomizationJobInput { + s.ValidationDataConfig = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateModelCustomizationJobInput) SetVpcConfig(v *VpcConfig) *CreateModelCustomizationJobInput { + s.VpcConfig = v + return s +} + +type CreateModelCustomizationJobOutput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the fine tuning job + // + // JobArn is a required field + JobArn *string `locationName:"jobArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateModelCustomizationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateModelCustomizationJobOutput) GoString() string { + return s.String() +} + +// SetJobArn sets the JobArn field's value. +func (s *CreateModelCustomizationJobOutput) SetJobArn(v string) *CreateModelCustomizationJobOutput { + s.JobArn = &v + return s +} + +type CreateProvisionedModelThroughputInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier to ensure that the API request completes + // no more than one time. If this token matches a previous request, Amazon Bedrock + // ignores the request, but does not return an error. For more information, + // see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html) + // in the Amazon S3 User Guide. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // The commitment duration requested for the Provisioned Throughput. Billing + // occurs hourly and is discounted for longer commitment terms. To request a + // no-commit Provisioned Throughput, omit this field. + // + // Custom models support all levels of commitment. To see which base models + // support no commitment, see Supported regions and models for Provisioned Throughput + // (https://docs.aws.amazon.com/bedrock/latest/userguide/pt-supported.html) + // in the Amazon Bedrock User Guide + CommitmentDuration *string `locationName:"commitmentDuration" type:"string" enum:"CommitmentDuration"` + + // The Amazon Resource Name (ARN) or name of the model to associate with this + // Provisioned Throughput. For a list of models for which you can purchase Provisioned + // Throughput, see Amazon Bedrock model IDs for purchasing Provisioned Throughput + // (https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#prov-throughput-models) + // in the Amazon Bedrock User Guide. + // + // ModelId is a required field + ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"` + + // Number of model units to allocate. A model unit delivers a specific throughput + // level for the specified model. The throughput level of a model unit specifies + // the total number of input and output tokens that it can process and generate + // within a span of one minute. By default, your account has no model units + // for purchasing Provisioned Throughputs with commitment. You must first visit + // the Amazon Web Services support center (https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase) + // to request MUs. + // + // For model unit quotas, see Provisioned Throughput quotas (https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html#prov-thru-quotas) + // in the Amazon Bedrock User Guide. + // + // For more information about what an MU specifies, contact your Amazon Web + // Services account manager. + // + // ModelUnits is a required field + ModelUnits *int64 `locationName:"modelUnits" min:"1" type:"integer" required:"true"` + + // The name for this Provisioned Throughput. + // + // ProvisionedModelName is a required field + ProvisionedModelName *string `locationName:"provisionedModelName" min:"1" type:"string" required:"true"` + + // Tags to associate with this Provisioned Throughput. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProvisionedModelThroughputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProvisionedModelThroughputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProvisionedModelThroughputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedModelThroughputInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.ModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ModelId")) + } + if s.ModelId != nil && len(*s.ModelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelId", 1)) + } + if s.ModelUnits == nil { + invalidParams.Add(request.NewErrParamRequired("ModelUnits")) + } + if s.ModelUnits != nil && *s.ModelUnits < 1 { + invalidParams.Add(request.NewErrParamMinValue("ModelUnits", 1)) + } + if s.ProvisionedModelName == nil { + invalidParams.Add(request.NewErrParamRequired("ProvisionedModelName")) + } + if s.ProvisionedModelName != nil && len(*s.ProvisionedModelName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProvisionedModelName", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateProvisionedModelThroughputInput) SetClientRequestToken(v string) *CreateProvisionedModelThroughputInput { + s.ClientRequestToken = &v + return s +} + +// SetCommitmentDuration sets the CommitmentDuration field's value. +func (s *CreateProvisionedModelThroughputInput) SetCommitmentDuration(v string) *CreateProvisionedModelThroughputInput { + s.CommitmentDuration = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *CreateProvisionedModelThroughputInput) SetModelId(v string) *CreateProvisionedModelThroughputInput { + s.ModelId = &v + return s +} + +// SetModelUnits sets the ModelUnits field's value. +func (s *CreateProvisionedModelThroughputInput) SetModelUnits(v int64) *CreateProvisionedModelThroughputInput { + s.ModelUnits = &v + return s +} + +// SetProvisionedModelName sets the ProvisionedModelName field's value. +func (s *CreateProvisionedModelThroughputInput) SetProvisionedModelName(v string) *CreateProvisionedModelThroughputInput { + s.ProvisionedModelName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProvisionedModelThroughputInput) SetTags(v []*Tag) *CreateProvisionedModelThroughputInput { + s.Tags = v + return s +} + +type CreateProvisionedModelThroughputOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for this Provisioned Throughput. + // + // ProvisionedModelArn is a required field + ProvisionedModelArn *string `locationName:"provisionedModelArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProvisionedModelThroughputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProvisionedModelThroughputOutput) GoString() string { + return s.String() +} + +// SetProvisionedModelArn sets the ProvisionedModelArn field's value. +func (s *CreateProvisionedModelThroughputOutput) SetProvisionedModelArn(v string) *CreateProvisionedModelThroughputOutput { + s.ProvisionedModelArn = &v + return s +} + +// Summary information for a custom model. +type CustomModelSummary struct { + _ struct{} `type:"structure"` + + // The base model Amazon Resource Name (ARN). + // + // BaseModelArn is a required field + BaseModelArn *string `locationName:"baseModelArn" min:"20" type:"string" required:"true"` + + // The base model name. + // + // BaseModelName is a required field + BaseModelName *string `locationName:"baseModelName" min:"1" type:"string" required:"true"` + + // Creation time of the model. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // Specifies whether to carry out continued pre-training of a model or whether + // to fine-tune it. For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html). + CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` + + // The Amazon Resource Name (ARN) of the custom model. + // + // ModelArn is a required field + ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` + + // The name of the custom model. + // + // ModelName is a required field + ModelName *string `locationName:"modelName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CustomModelSummary) GoString() string { + return s.String() +} + +// SetBaseModelArn sets the BaseModelArn field's value. +func (s *CustomModelSummary) SetBaseModelArn(v string) *CustomModelSummary { + s.BaseModelArn = &v + return s +} + +// SetBaseModelName sets the BaseModelName field's value. +func (s *CustomModelSummary) SetBaseModelName(v string) *CustomModelSummary { + s.BaseModelName = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CustomModelSummary) SetCreationTime(v time.Time) *CustomModelSummary { + s.CreationTime = &v + return s +} + +// SetCustomizationType sets the CustomizationType field's value. +func (s *CustomModelSummary) SetCustomizationType(v string) *CustomModelSummary { + s.CustomizationType = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *CustomModelSummary) SetModelArn(v string) *CustomModelSummary { + s.ModelArn = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *CustomModelSummary) SetModelName(v string) *CustomModelSummary { + s.ModelName = &v + return s +} + +type DeleteCustomModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Name of the model to delete. + // + // ModelIdentifier is a required field + ModelIdentifier *string `location:"uri" locationName:"modelIdentifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCustomModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCustomModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCustomModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomModelInput"} + if s.ModelIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) + } + if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModelIdentifier sets the ModelIdentifier field's value. +func (s *DeleteCustomModelInput) SetModelIdentifier(v string) *DeleteCustomModelInput { + s.ModelIdentifier = &v + return s +} + +type DeleteCustomModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCustomModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCustomModelOutput) GoString() string { + return s.String() +} + +type DeleteGuardrailInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the guardrail. + // + // GuardrailIdentifier is a required field + GuardrailIdentifier *string `location:"uri" locationName:"guardrailIdentifier" type:"string" required:"true"` + + // The version of the guardrail. + GuardrailVersion *string `location:"querystring" locationName:"guardrailVersion" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGuardrailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGuardrailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGuardrailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGuardrailInput"} + if s.GuardrailIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("GuardrailIdentifier")) + } + if s.GuardrailIdentifier != nil && len(*s.GuardrailIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GuardrailIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *DeleteGuardrailInput) SetGuardrailIdentifier(v string) *DeleteGuardrailInput { + s.GuardrailIdentifier = &v + return s +} + +// SetGuardrailVersion sets the GuardrailVersion field's value. +func (s *DeleteGuardrailInput) SetGuardrailVersion(v string) *DeleteGuardrailInput { + s.GuardrailVersion = &v + return s +} + +type DeleteGuardrailOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGuardrailOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteGuardrailOutput) GoString() string { + return s.String() +} + +type DeleteModelInvocationLoggingConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteModelInvocationLoggingConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteModelInvocationLoggingConfigurationInput) GoString() string { + return s.String() +} + +type DeleteModelInvocationLoggingConfigurationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteModelInvocationLoggingConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteModelInvocationLoggingConfigurationOutput) GoString() string { + return s.String() +} + +type DeleteProvisionedModelThroughputInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) or name of the Provisioned Throughput. + // + // ProvisionedModelId is a required field + ProvisionedModelId *string `location:"uri" locationName:"provisionedModelId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProvisionedModelThroughputInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProvisionedModelThroughputInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProvisionedModelThroughputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedModelThroughputInput"} + if s.ProvisionedModelId == nil { + invalidParams.Add(request.NewErrParamRequired("ProvisionedModelId")) + } + if s.ProvisionedModelId != nil && len(*s.ProvisionedModelId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProvisionedModelId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProvisionedModelId sets the ProvisionedModelId field's value. +func (s *DeleteProvisionedModelThroughputInput) SetProvisionedModelId(v string) *DeleteProvisionedModelThroughputInput { + s.ProvisionedModelId = &v + return s +} + +type DeleteProvisionedModelThroughputOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProvisionedModelThroughputOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProvisionedModelThroughputOutput) GoString() string { + return s.String() +} + +// Contains the ARN of the Amazon Bedrock models specified in your model evaluation +// job. Each Amazon Bedrock model supports different inferenceParams. To learn +// more about supported inference parameters for Amazon Bedrock models, see +// Inference parameters for foundation models (https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-prompt-datasets-custom.html). +// +// The inferenceParams are specified using JSON. To successfully insert JSON +// as string make sure that all quotations are properly escaped. For example, +// "temperature":"0.25" key value pair would need to be formatted as \"temperature\":\"0.25\" +// to successfully accepted in the request. +type EvaluationBedrockModel struct { + _ struct{} `type:"structure"` + + // Each Amazon Bedrock support different inference parameters that change how + // the model behaves during inference. + // + // InferenceParams is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by EvaluationBedrockModel's + // String and GoString methods. + // + // InferenceParams is a required field + InferenceParams *string `locationName:"inferenceParams" min:"1" type:"string" required:"true" sensitive:"true"` + + // The ARN of the Amazon Bedrock model specified. + // + // ModelIdentifier is a required field + ModelIdentifier *string `locationName:"modelIdentifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationBedrockModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationBedrockModel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationBedrockModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationBedrockModel"} + if s.InferenceParams == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceParams")) + } + if s.InferenceParams != nil && len(*s.InferenceParams) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InferenceParams", 1)) + } + if s.ModelIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) + } + if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInferenceParams sets the InferenceParams field's value. +func (s *EvaluationBedrockModel) SetInferenceParams(v string) *EvaluationBedrockModel { + s.InferenceParams = &v + return s +} + +// SetModelIdentifier sets the ModelIdentifier field's value. +func (s *EvaluationBedrockModel) SetModelIdentifier(v string) *EvaluationBedrockModel { + s.ModelIdentifier = &v + return s +} + +// Used to specify either a AutomatedEvaluationConfig or HumanEvaluationConfig +// object. +type EvaluationConfig struct { + _ struct{} `type:"structure"` + + // Used to specify an automated model evaluation job. See AutomatedEvaluationConfig + // to view the required parameters. + Automated *AutomatedEvaluationConfig `locationName:"automated" type:"structure"` + + // Used to specify a model evaluation job that uses human workers.See HumanEvaluationConfig + // to view the required parameters. + Human *HumanEvaluationConfig `locationName:"human" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationConfig"} + if s.Automated != nil { + if err := s.Automated.Validate(); err != nil { + invalidParams.AddNested("Automated", err.(request.ErrInvalidParams)) + } + } + if s.Human != nil { + if err := s.Human.Validate(); err != nil { + invalidParams.AddNested("Human", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomated sets the Automated field's value. +func (s *EvaluationConfig) SetAutomated(v *AutomatedEvaluationConfig) *EvaluationConfig { + s.Automated = v + return s +} + +// SetHuman sets the Human field's value. +func (s *EvaluationConfig) SetHuman(v *HumanEvaluationConfig) *EvaluationConfig { + s.Human = v + return s +} + +// Used to specify the name of a built-in prompt dataset and optionally, the +// Amazon S3 bucket where a custom prompt dataset is saved. +type EvaluationDataset struct { + _ struct{} `type:"structure"` + + // For custom prompt datasets, you must specify the location in Amazon S3 where + // the prompt dataset is saved. + DatasetLocation *EvaluationDatasetLocation `locationName:"datasetLocation" type:"structure"` + + // Used to specify supported built-in prompt datasets. Valid values are Builtin.Bold, + // Builtin.BoolQ, Builtin.NaturalQuestions, Builtin.Gigaword, Builtin.RealToxicityPrompts, + // Builtin.TriviaQa, Builtin.T-Rex, Builtin.WomensEcommerceClothingReviews and + // Builtin.Wikitext2. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by EvaluationDataset's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationDataset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationDataset) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationDataset) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationDataset"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.DatasetLocation != nil { + if err := s.DatasetLocation.Validate(); err != nil { + invalidParams.AddNested("DatasetLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatasetLocation sets the DatasetLocation field's value. +func (s *EvaluationDataset) SetDatasetLocation(v *EvaluationDatasetLocation) *EvaluationDataset { + s.DatasetLocation = v + return s +} + +// SetName sets the Name field's value. +func (s *EvaluationDataset) SetName(v string) *EvaluationDataset { + s.Name = &v + return s +} + +// The location in Amazon S3 where your prompt dataset is stored. +type EvaluationDatasetLocation struct { + _ struct{} `type:"structure"` + + // The S3 URI of the S3 bucket specified in the job. + S3Uri *string `locationName:"s3Uri" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationDatasetLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationDatasetLocation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationDatasetLocation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationDatasetLocation"} + if s.S3Uri != nil && len(*s.S3Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Uri sets the S3Uri field's value. +func (s *EvaluationDatasetLocation) SetS3Uri(v string) *EvaluationDatasetLocation { + s.S3Uri = &v + return s +} + +// Defines the built-in prompt datasets, built-in metric names and custom metric +// names, and the task type. +type EvaluationDatasetMetricConfig struct { + _ struct{} `type:"structure"` + + // Specifies the prompt dataset. + // + // Dataset is a required field + Dataset *EvaluationDataset `locationName:"dataset" type:"structure" required:"true"` + + // The names of the metrics used. For automated model evaluation jobs valid + // values are "Builtin.Accuracy", "Builtin.Robustness", and "Builtin.Toxicity". + // In human-based model evaluation jobs the array of strings must match the + // name parameter specified in HumanEvaluationCustomMetric. + // + // MetricNames is a required field + MetricNames []*string `locationName:"metricNames" min:"1" type:"list" required:"true"` + + // The task type you want the model to carry out. + // + // TaskType is a required field + TaskType *string `locationName:"taskType" min:"1" type:"string" required:"true" enum:"EvaluationTaskType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationDatasetMetricConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationDatasetMetricConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationDatasetMetricConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationDatasetMetricConfig"} + if s.Dataset == nil { + invalidParams.Add(request.NewErrParamRequired("Dataset")) + } + if s.MetricNames == nil { + invalidParams.Add(request.NewErrParamRequired("MetricNames")) + } + if s.MetricNames != nil && len(s.MetricNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MetricNames", 1)) + } + if s.TaskType == nil { + invalidParams.Add(request.NewErrParamRequired("TaskType")) + } + if s.TaskType != nil && len(*s.TaskType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TaskType", 1)) + } + if s.Dataset != nil { + if err := s.Dataset.Validate(); err != nil { + invalidParams.AddNested("Dataset", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataset sets the Dataset field's value. +func (s *EvaluationDatasetMetricConfig) SetDataset(v *EvaluationDataset) *EvaluationDatasetMetricConfig { + s.Dataset = v + return s +} + +// SetMetricNames sets the MetricNames field's value. +func (s *EvaluationDatasetMetricConfig) SetMetricNames(v []*string) *EvaluationDatasetMetricConfig { + s.MetricNames = v + return s +} + +// SetTaskType sets the TaskType field's value. +func (s *EvaluationDatasetMetricConfig) SetTaskType(v string) *EvaluationDatasetMetricConfig { + s.TaskType = &v + return s +} + +// Used to define the models you want used in your model evaluation job. Automated +// model evaluation jobs support only a single model. In a human-based model +// evaluation job, your annotator can compare the responses for up to two different +// models. +type EvaluationInferenceConfig struct { + _ struct{} `type:"structure"` + + // Used to specify the models. + Models []*EvaluationModelConfig `locationName:"models" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationInferenceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationInferenceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationInferenceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationInferenceConfig"} + if s.Models != nil && len(s.Models) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Models", 1)) + } + if s.Models != nil { + for i, v := range s.Models { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Models", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetModels sets the Models field's value. +func (s *EvaluationInferenceConfig) SetModels(v []*EvaluationModelConfig) *EvaluationInferenceConfig { + s.Models = v + return s +} + +// Defines the models used in the model evaluation job. +type EvaluationModelConfig struct { + _ struct{} `type:"structure"` + + // Defines the Amazon Bedrock model and inference parameters you want used. + BedrockModel *EvaluationBedrockModel `locationName:"bedrockModel" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationModelConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationModelConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationModelConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationModelConfig"} + if s.BedrockModel != nil { + if err := s.BedrockModel.Validate(); err != nil { + invalidParams.AddNested("BedrockModel", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBedrockModel sets the BedrockModel field's value. +func (s *EvaluationModelConfig) SetBedrockModel(v *EvaluationBedrockModel) *EvaluationModelConfig { + s.BedrockModel = v + return s +} + +// The Amazon S3 location where the results of your model evaluation job are +// saved. +type EvaluationOutputDataConfig struct { + _ struct{} `type:"structure"` + + // The Amazon S3 URI where the results of model evaluation job are saved. + // + // S3Uri is a required field + S3Uri *string `locationName:"s3Uri" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationOutputDataConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationOutputDataConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EvaluationOutputDataConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EvaluationOutputDataConfig"} + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + if s.S3Uri != nil && len(*s.S3Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Uri sets the S3Uri field's value. +func (s *EvaluationOutputDataConfig) SetS3Uri(v string) *EvaluationOutputDataConfig { + s.S3Uri = &v + return s +} + +// A summary of the model evaluation job. +type EvaluationSummary struct { + _ struct{} `type:"structure"` + + // When the model evaluation job was created. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // What task type was used in the model evaluation job. + // + // EvaluationTaskTypes is a required field + EvaluationTaskTypes []*string `locationName:"evaluationTaskTypes" min:"1" type:"list" required:"true" enum:"EvaluationTaskType"` + + // The Amazon Resource Name (ARN) of the model evaluation job. + // + // JobArn is a required field + JobArn *string `locationName:"jobArn" type:"string" required:"true"` + + // The name of the model evaluation job. + // + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + + // The type, either human or automatic, of model evaluation job. + // + // JobType is a required field + JobType *string `locationName:"jobType" type:"string" required:"true" enum:"EvaluationJobType"` + + // The Amazon Resource Names (ARNs) of the model(s) used in the model evaluation + // job. + // + // ModelIdentifiers is a required field + ModelIdentifiers []*string `locationName:"modelIdentifiers" min:"1" type:"list" required:"true"` + + // The current status of the model evaluation job. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"EvaluationJobStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EvaluationSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *EvaluationSummary) SetCreationTime(v time.Time) *EvaluationSummary { + s.CreationTime = &v + return s +} + +// SetEvaluationTaskTypes sets the EvaluationTaskTypes field's value. +func (s *EvaluationSummary) SetEvaluationTaskTypes(v []*string) *EvaluationSummary { + s.EvaluationTaskTypes = v + return s +} + +// SetJobArn sets the JobArn field's value. +func (s *EvaluationSummary) SetJobArn(v string) *EvaluationSummary { + s.JobArn = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *EvaluationSummary) SetJobName(v string) *EvaluationSummary { + s.JobName = &v + return s +} + +// SetJobType sets the JobType field's value. +func (s *EvaluationSummary) SetJobType(v string) *EvaluationSummary { + s.JobType = &v + return s +} + +// SetModelIdentifiers sets the ModelIdentifiers field's value. +func (s *EvaluationSummary) SetModelIdentifiers(v []*string) *EvaluationSummary { + s.ModelIdentifiers = v + return s +} + +// SetStatus sets the Status field's value. +func (s *EvaluationSummary) SetStatus(v string) *EvaluationSummary { + s.Status = &v + return s +} + +// Information about a foundation model. +type FoundationModelDetails struct { + _ struct{} `type:"structure"` + + // The customization that the model supports. + CustomizationsSupported []*string `locationName:"customizationsSupported" type:"list" enum:"ModelCustomization"` + + // The inference types that the model supports. + InferenceTypesSupported []*string `locationName:"inferenceTypesSupported" type:"list" enum:"InferenceType"` + + // The input modalities that the model supports. + InputModalities []*string `locationName:"inputModalities" type:"list" enum:"ModelModality"` + + // The model Amazon Resource Name (ARN). + // + // ModelArn is a required field + ModelArn *string `locationName:"modelArn" type:"string" required:"true"` + + // The model identifier. + // + // ModelId is a required field + ModelId *string `locationName:"modelId" type:"string" required:"true"` + + // Contains details about whether a model version is available or deprecated + ModelLifecycle *FoundationModelLifecycle `locationName:"modelLifecycle" type:"structure"` + + // The model name. + ModelName *string `locationName:"modelName" min:"1" type:"string"` + + // The output modalities that the model supports. + OutputModalities []*string `locationName:"outputModalities" type:"list" enum:"ModelModality"` + + // The model's provider name. + ProviderName *string `locationName:"providerName" min:"1" type:"string"` + + // Indicates whether the model supports streaming. + ResponseStreamingSupported *bool `locationName:"responseStreamingSupported" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FoundationModelDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FoundationModelDetails) GoString() string { + return s.String() +} + +// SetCustomizationsSupported sets the CustomizationsSupported field's value. +func (s *FoundationModelDetails) SetCustomizationsSupported(v []*string) *FoundationModelDetails { + s.CustomizationsSupported = v + return s +} + +// SetInferenceTypesSupported sets the InferenceTypesSupported field's value. +func (s *FoundationModelDetails) SetInferenceTypesSupported(v []*string) *FoundationModelDetails { + s.InferenceTypesSupported = v + return s +} + +// SetInputModalities sets the InputModalities field's value. +func (s *FoundationModelDetails) SetInputModalities(v []*string) *FoundationModelDetails { + s.InputModalities = v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *FoundationModelDetails) SetModelArn(v string) *FoundationModelDetails { + s.ModelArn = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *FoundationModelDetails) SetModelId(v string) *FoundationModelDetails { + s.ModelId = &v + return s +} + +// SetModelLifecycle sets the ModelLifecycle field's value. +func (s *FoundationModelDetails) SetModelLifecycle(v *FoundationModelLifecycle) *FoundationModelDetails { + s.ModelLifecycle = v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *FoundationModelDetails) SetModelName(v string) *FoundationModelDetails { + s.ModelName = &v + return s +} + +// SetOutputModalities sets the OutputModalities field's value. +func (s *FoundationModelDetails) SetOutputModalities(v []*string) *FoundationModelDetails { + s.OutputModalities = v + return s +} + +// SetProviderName sets the ProviderName field's value. +func (s *FoundationModelDetails) SetProviderName(v string) *FoundationModelDetails { + s.ProviderName = &v + return s +} + +// SetResponseStreamingSupported sets the ResponseStreamingSupported field's value. +func (s *FoundationModelDetails) SetResponseStreamingSupported(v bool) *FoundationModelDetails { + s.ResponseStreamingSupported = &v + return s +} + +// Details about whether a model version is available or deprecated. +type FoundationModelLifecycle struct { + _ struct{} `type:"structure"` + + // Specifies whether a model version is available (ACTIVE) or deprecated (LEGACY. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"FoundationModelLifecycleStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FoundationModelLifecycle) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FoundationModelLifecycle) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *FoundationModelLifecycle) SetStatus(v string) *FoundationModelLifecycle { + s.Status = &v + return s +} + +// Summary information for a foundation model. +type FoundationModelSummary struct { + _ struct{} `type:"structure"` + + // Whether the model supports fine-tuning or continual pre-training. + CustomizationsSupported []*string `locationName:"customizationsSupported" type:"list" enum:"ModelCustomization"` + + // The inference types that the model supports. + InferenceTypesSupported []*string `locationName:"inferenceTypesSupported" type:"list" enum:"InferenceType"` + + // The input modalities that the model supports. + InputModalities []*string `locationName:"inputModalities" type:"list" enum:"ModelModality"` + + // The Amazon Resource Name (ARN) of the foundation model. + // + // ModelArn is a required field + ModelArn *string `locationName:"modelArn" type:"string" required:"true"` + + // The model ID of the foundation model. + // + // ModelId is a required field + ModelId *string `locationName:"modelId" type:"string" required:"true"` + + // Contains details about whether a model version is available or deprecated. + ModelLifecycle *FoundationModelLifecycle `locationName:"modelLifecycle" type:"structure"` + + // The name of the model. + ModelName *string `locationName:"modelName" min:"1" type:"string"` + + // The output modalities that the model supports. + OutputModalities []*string `locationName:"outputModalities" type:"list" enum:"ModelModality"` + + // The model's provider name. + ProviderName *string `locationName:"providerName" min:"1" type:"string"` + + // Indicates whether the model supports streaming. + ResponseStreamingSupported *bool `locationName:"responseStreamingSupported" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FoundationModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FoundationModelSummary) GoString() string { + return s.String() +} + +// SetCustomizationsSupported sets the CustomizationsSupported field's value. +func (s *FoundationModelSummary) SetCustomizationsSupported(v []*string) *FoundationModelSummary { + s.CustomizationsSupported = v + return s +} + +// SetInferenceTypesSupported sets the InferenceTypesSupported field's value. +func (s *FoundationModelSummary) SetInferenceTypesSupported(v []*string) *FoundationModelSummary { + s.InferenceTypesSupported = v + return s +} + +// SetInputModalities sets the InputModalities field's value. +func (s *FoundationModelSummary) SetInputModalities(v []*string) *FoundationModelSummary { + s.InputModalities = v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *FoundationModelSummary) SetModelArn(v string) *FoundationModelSummary { + s.ModelArn = &v + return s +} + +// SetModelId sets the ModelId field's value. +func (s *FoundationModelSummary) SetModelId(v string) *FoundationModelSummary { + s.ModelId = &v + return s +} + +// SetModelLifecycle sets the ModelLifecycle field's value. +func (s *FoundationModelSummary) SetModelLifecycle(v *FoundationModelLifecycle) *FoundationModelSummary { + s.ModelLifecycle = v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *FoundationModelSummary) SetModelName(v string) *FoundationModelSummary { + s.ModelName = &v + return s +} + +// SetOutputModalities sets the OutputModalities field's value. +func (s *FoundationModelSummary) SetOutputModalities(v []*string) *FoundationModelSummary { + s.OutputModalities = v + return s +} + +// SetProviderName sets the ProviderName field's value. +func (s *FoundationModelSummary) SetProviderName(v string) *FoundationModelSummary { + s.ProviderName = &v + return s +} + +// SetResponseStreamingSupported sets the ResponseStreamingSupported field's value. +func (s *FoundationModelSummary) SetResponseStreamingSupported(v bool) *FoundationModelSummary { + s.ResponseStreamingSupported = &v + return s +} + +type GetCustomModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Name or Amazon Resource Name (ARN) of the custom model. + // + // ModelIdentifier is a required field + ModelIdentifier *string `location:"uri" locationName:"modelIdentifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCustomModelInput) String() string { return awsutil.Prettify(s) } @@ -2178,26 +5859,18 @@ func (s CloudWatchConfig) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CloudWatchConfig) GoString() string { +func (s GetCustomModelInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchConfig"} - if s.LogGroupName == nil { - invalidParams.Add(request.NewErrParamRequired("LogGroupName")) - } - if s.LogGroupName != nil && len(*s.LogGroupName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LogGroupName", 1)) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) +func (s *GetCustomModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCustomModelInput"} + if s.ModelIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) } - if s.LargeDataDeliveryS3Config != nil { - if err := s.LargeDataDeliveryS3Config.Validate(); err != nil { - invalidParams.AddNested("LargeDataDeliveryS3Config", err.(request.ErrInvalidParams)) - } + if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) } if invalidParams.Len() > 0 { @@ -2206,30 +5879,186 @@ func (s *CloudWatchConfig) Validate() error { return nil } -// SetLargeDataDeliveryS3Config sets the LargeDataDeliveryS3Config field's value. -func (s *CloudWatchConfig) SetLargeDataDeliveryS3Config(v *S3Config) *CloudWatchConfig { - s.LargeDataDeliveryS3Config = v +// SetModelIdentifier sets the ModelIdentifier field's value. +func (s *GetCustomModelInput) SetModelIdentifier(v string) *GetCustomModelInput { + s.ModelIdentifier = &v + return s +} + +type GetCustomModelOutput struct { + _ struct{} `type:"structure"` + + // Amazon Resource Name (ARN) of the base model. + // + // BaseModelArn is a required field + BaseModelArn *string `locationName:"baseModelArn" min:"20" type:"string" required:"true"` + + // Creation time of the model. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The type of model customization. + CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` + + // Hyperparameter values associated with this model. For details on the format + // for different models, see Custom model hyperparameters (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html). + HyperParameters map[string]*string `locationName:"hyperParameters" type:"map"` + + // Job Amazon Resource Name (ARN) associated with this model. + // + // JobArn is a required field + JobArn *string `locationName:"jobArn" type:"string" required:"true"` + + // Job name associated with this model. + JobName *string `locationName:"jobName" min:"1" type:"string"` + + // Amazon Resource Name (ARN) associated with this model. + // + // ModelArn is a required field + ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` + + // The custom model is encrypted at rest using this key. + ModelKmsKeyArn *string `locationName:"modelKmsKeyArn" min:"1" type:"string"` + + // Model name associated with this model. + // + // ModelName is a required field + ModelName *string `locationName:"modelName" min:"1" type:"string" required:"true"` + + // Output data configuration associated with this custom model. + // + // OutputDataConfig is a required field + OutputDataConfig *OutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` + + // Contains information about the training dataset. + // + // TrainingDataConfig is a required field + TrainingDataConfig *TrainingDataConfig `locationName:"trainingDataConfig" type:"structure" required:"true"` + + // Contains training metrics from the job creation. + TrainingMetrics *TrainingMetrics `locationName:"trainingMetrics" type:"structure"` + + // Contains information about the validation dataset. + ValidationDataConfig *ValidationDataConfig `locationName:"validationDataConfig" type:"structure"` + + // The validation metrics from the job creation. + ValidationMetrics []*ValidatorMetric `locationName:"validationMetrics" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCustomModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCustomModelOutput) GoString() string { + return s.String() +} + +// SetBaseModelArn sets the BaseModelArn field's value. +func (s *GetCustomModelOutput) SetBaseModelArn(v string) *GetCustomModelOutput { + s.BaseModelArn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetCustomModelOutput) SetCreationTime(v time.Time) *GetCustomModelOutput { + s.CreationTime = &v + return s +} + +// SetCustomizationType sets the CustomizationType field's value. +func (s *GetCustomModelOutput) SetCustomizationType(v string) *GetCustomModelOutput { + s.CustomizationType = &v + return s +} + +// SetHyperParameters sets the HyperParameters field's value. +func (s *GetCustomModelOutput) SetHyperParameters(v map[string]*string) *GetCustomModelOutput { + s.HyperParameters = v + return s +} + +// SetJobArn sets the JobArn field's value. +func (s *GetCustomModelOutput) SetJobArn(v string) *GetCustomModelOutput { + s.JobArn = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *GetCustomModelOutput) SetJobName(v string) *GetCustomModelOutput { + s.JobName = &v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *GetCustomModelOutput) SetModelArn(v string) *GetCustomModelOutput { + s.ModelArn = &v + return s +} + +// SetModelKmsKeyArn sets the ModelKmsKeyArn field's value. +func (s *GetCustomModelOutput) SetModelKmsKeyArn(v string) *GetCustomModelOutput { + s.ModelKmsKeyArn = &v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *GetCustomModelOutput) SetModelName(v string) *GetCustomModelOutput { + s.ModelName = &v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *GetCustomModelOutput) SetOutputDataConfig(v *OutputDataConfig) *GetCustomModelOutput { + s.OutputDataConfig = v + return s +} + +// SetTrainingDataConfig sets the TrainingDataConfig field's value. +func (s *GetCustomModelOutput) SetTrainingDataConfig(v *TrainingDataConfig) *GetCustomModelOutput { + s.TrainingDataConfig = v + return s +} + +// SetTrainingMetrics sets the TrainingMetrics field's value. +func (s *GetCustomModelOutput) SetTrainingMetrics(v *TrainingMetrics) *GetCustomModelOutput { + s.TrainingMetrics = v return s } -// SetLogGroupName sets the LogGroupName field's value. -func (s *CloudWatchConfig) SetLogGroupName(v string) *CloudWatchConfig { - s.LogGroupName = &v +// SetValidationDataConfig sets the ValidationDataConfig field's value. +func (s *GetCustomModelOutput) SetValidationDataConfig(v *ValidationDataConfig) *GetCustomModelOutput { + s.ValidationDataConfig = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *CloudWatchConfig) SetRoleArn(v string) *CloudWatchConfig { - s.RoleArn = &v +// SetValidationMetrics sets the ValidationMetrics field's value. +func (s *GetCustomModelOutput) SetValidationMetrics(v []*ValidatorMetric) *GetCustomModelOutput { + s.ValidationMetrics = v return s } -// Error occurred because of a conflict while performing an operation. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type GetEvaluationJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` - Message_ *string `locationName:"message" type:"string"` + // The Amazon Resource Name (ARN) of the model evaluation job. + // + // JobIdentifier is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetEvaluationJobInput's + // String and GoString methods. + // + // JobIdentifier is a required field + JobIdentifier *string `location:"uri" locationName:"jobIdentifier" type:"string" required:"true" sensitive:"true"` } // String returns the string representation. @@ -2237,7 +6066,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s GetEvaluationJobInput) String() string { return awsutil.Prettify(s) } @@ -2246,112 +6075,98 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s GetEvaluationJobInput) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEvaluationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEvaluationJobInput"} + if s.JobIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("JobIdentifier")) } -} - -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" -} - -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.JobIdentifier != nil && len(*s.JobIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobIdentifier", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetJobIdentifier sets the JobIdentifier field's value. +func (s *GetEvaluationJobInput) SetJobIdentifier(v string) *GetEvaluationJobInput { + s.JobIdentifier = &v + return s } -type CreateModelCustomizationJobInput struct { +type GetEvaluationJobOutput struct { _ struct{} `type:"structure"` - // Name of the base model. + // When the model evaluation job was created. // - // BaseModelIdentifier is a required field - BaseModelIdentifier *string `locationName:"baseModelIdentifier" min:"1" type:"string" required:"true"` - - // Unique token value that you can provide. The GetModelCustomizationJob response - // includes the same token value. - ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The custom model is encrypted at rest using this key. - CustomModelKmsKeyId *string `locationName:"customModelKmsKeyId" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the customer managed key specified when + // the model evaluation job was created. + CustomerEncryptionKeyId *string `locationName:"customerEncryptionKeyId" min:"1" type:"string"` - // Enter a name for the custom model. + // Contains details about the type of model evaluation job, the metrics used, + // the task type selected, the datasets used, and any custom metrics you defined. // - // CustomModelName is a required field - CustomModelName *string `locationName:"customModelName" min:"1" type:"string" required:"true"` + // EvaluationConfig is a required field + EvaluationConfig *EvaluationConfig `locationName:"evaluationConfig" type:"structure" required:"true"` - // Assign tags to the custom model. - CustomModelTags []*Tag `locationName:"customModelTags" type:"list"` + // An array of strings the specify why the model evaluation job has failed. + FailureMessages []*string `locationName:"failureMessages" type:"list"` - // The customization type. - CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` + // Details about the models you specified in your model evaluation job. + // + // InferenceConfig is a required field + InferenceConfig *EvaluationInferenceConfig `locationName:"inferenceConfig" type:"structure" required:"true"` - // Parameters related to tuning the model. + // The Amazon Resource Name (ARN) of the model evaluation job. // - // HyperParameters is a required field - HyperParameters map[string]*string `locationName:"hyperParameters" type:"map" required:"true"` + // JobArn is a required field + JobArn *string `locationName:"jobArn" type:"string" required:"true"` - // Enter a unique name for the fine-tuning job. + // The description of the model evaluation job. + // + // JobDescription is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetEvaluationJobOutput's + // String and GoString methods. + JobDescription *string `locationName:"jobDescription" min:"1" type:"string" sensitive:"true"` + + // The name of the model evaluation job. // // JobName is a required field JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` - // Assign tags to the job. - JobTags []*Tag `locationName:"jobTags" type:"list"` + // The type of model evaluation job. + // + // JobType is a required field + JobType *string `locationName:"jobType" type:"string" required:"true" enum:"EvaluationJobType"` - // S3 location for the output data. + // When the model evaluation job was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"iso8601"` + + // Amazon S3 location for where output data is saved. // // OutputDataConfig is a required field - OutputDataConfig *OutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` + OutputDataConfig *EvaluationOutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` - // The Amazon Resource Name (ARN) of an IAM role that Amazon Bedrock can assume - // to perform tasks on your behalf. For example, during model training, Amazon - // Bedrock needs your permission to read input data from an S3 bucket, write - // model artifacts to an S3 bucket. To pass this role to Amazon Bedrock, the - // caller of this API must have the iam:PassRole permission. + // The Amazon Resource Name (ARN) of the IAM service role used in the model + // evaluation job. // // RoleArn is a required field RoleArn *string `locationName:"roleArn" type:"string" required:"true"` - // Information about the training dataset. + // The status of the model evaluation job. // - // TrainingDataConfig is a required field - TrainingDataConfig *TrainingDataConfig `locationName:"trainingDataConfig" type:"structure" required:"true"` - - // Information about the validation dataset. - ValidationDataConfig *ValidationDataConfig `locationName:"validationDataConfig" type:"structure"` - - // VPC configuration (optional). Configuration parameters for the private Virtual - // Private Cloud (VPC) that contains the resources you are using for this job. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"EvaluationJobStatus"` } // String returns the string representation. @@ -2359,7 +6174,7 @@ type CreateModelCustomizationJobInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateModelCustomizationJobInput) String() string { +func (s GetEvaluationJobOutput) String() string { return awsutil.Prettify(s) } @@ -2368,187 +6183,179 @@ func (s CreateModelCustomizationJobInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateModelCustomizationJobInput) GoString() string { +func (s GetEvaluationJobOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateModelCustomizationJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateModelCustomizationJobInput"} - if s.BaseModelIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("BaseModelIdentifier")) - } - if s.BaseModelIdentifier != nil && len(*s.BaseModelIdentifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("BaseModelIdentifier", 1)) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.CustomModelKmsKeyId != nil && len(*s.CustomModelKmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CustomModelKmsKeyId", 1)) - } - if s.CustomModelName == nil { - invalidParams.Add(request.NewErrParamRequired("CustomModelName")) - } - if s.CustomModelName != nil && len(*s.CustomModelName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CustomModelName", 1)) - } - if s.HyperParameters == nil { - invalidParams.Add(request.NewErrParamRequired("HyperParameters")) - } - if s.JobName == nil { - invalidParams.Add(request.NewErrParamRequired("JobName")) - } - if s.JobName != nil && len(*s.JobName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobName", 1)) - } - if s.OutputDataConfig == nil { - invalidParams.Add(request.NewErrParamRequired("OutputDataConfig")) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.TrainingDataConfig == nil { - invalidParams.Add(request.NewErrParamRequired("TrainingDataConfig")) - } - if s.CustomModelTags != nil { - for i, v := range s.CustomModelTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomModelTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.JobTags != nil { - for i, v := range s.JobTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "JobTags", i), err.(request.ErrInvalidParams)) - } - } - } - if s.OutputDataConfig != nil { - if err := s.OutputDataConfig.Validate(); err != nil { - invalidParams.AddNested("OutputDataConfig", err.(request.ErrInvalidParams)) - } - } - if s.TrainingDataConfig != nil { - if err := s.TrainingDataConfig.Validate(); err != nil { - invalidParams.AddNested("TrainingDataConfig", err.(request.ErrInvalidParams)) - } - } - if s.ValidationDataConfig != nil { - if err := s.ValidationDataConfig.Validate(); err != nil { - invalidParams.AddNested("ValidationDataConfig", err.(request.ErrInvalidParams)) - } - } - if s.VpcConfig != nil { - if err := s.VpcConfig.Validate(); err != nil { - invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) - } - } +// SetCreationTime sets the CreationTime field's value. +func (s *GetEvaluationJobOutput) SetCreationTime(v time.Time) *GetEvaluationJobOutput { + s.CreationTime = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCustomerEncryptionKeyId sets the CustomerEncryptionKeyId field's value. +func (s *GetEvaluationJobOutput) SetCustomerEncryptionKeyId(v string) *GetEvaluationJobOutput { + s.CustomerEncryptionKeyId = &v + return s } -// SetBaseModelIdentifier sets the BaseModelIdentifier field's value. -func (s *CreateModelCustomizationJobInput) SetBaseModelIdentifier(v string) *CreateModelCustomizationJobInput { - s.BaseModelIdentifier = &v +// SetEvaluationConfig sets the EvaluationConfig field's value. +func (s *GetEvaluationJobOutput) SetEvaluationConfig(v *EvaluationConfig) *GetEvaluationJobOutput { + s.EvaluationConfig = v return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateModelCustomizationJobInput) SetClientRequestToken(v string) *CreateModelCustomizationJobInput { - s.ClientRequestToken = &v +// SetFailureMessages sets the FailureMessages field's value. +func (s *GetEvaluationJobOutput) SetFailureMessages(v []*string) *GetEvaluationJobOutput { + s.FailureMessages = v return s } -// SetCustomModelKmsKeyId sets the CustomModelKmsKeyId field's value. -func (s *CreateModelCustomizationJobInput) SetCustomModelKmsKeyId(v string) *CreateModelCustomizationJobInput { - s.CustomModelKmsKeyId = &v +// SetInferenceConfig sets the InferenceConfig field's value. +func (s *GetEvaluationJobOutput) SetInferenceConfig(v *EvaluationInferenceConfig) *GetEvaluationJobOutput { + s.InferenceConfig = v return s } -// SetCustomModelName sets the CustomModelName field's value. -func (s *CreateModelCustomizationJobInput) SetCustomModelName(v string) *CreateModelCustomizationJobInput { - s.CustomModelName = &v +// SetJobArn sets the JobArn field's value. +func (s *GetEvaluationJobOutput) SetJobArn(v string) *GetEvaluationJobOutput { + s.JobArn = &v return s } -// SetCustomModelTags sets the CustomModelTags field's value. -func (s *CreateModelCustomizationJobInput) SetCustomModelTags(v []*Tag) *CreateModelCustomizationJobInput { - s.CustomModelTags = v +// SetJobDescription sets the JobDescription field's value. +func (s *GetEvaluationJobOutput) SetJobDescription(v string) *GetEvaluationJobOutput { + s.JobDescription = &v + return s +} + +// SetJobName sets the JobName field's value. +func (s *GetEvaluationJobOutput) SetJobName(v string) *GetEvaluationJobOutput { + s.JobName = &v + return s +} + +// SetJobType sets the JobType field's value. +func (s *GetEvaluationJobOutput) SetJobType(v string) *GetEvaluationJobOutput { + s.JobType = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetEvaluationJobOutput) SetLastModifiedTime(v time.Time) *GetEvaluationJobOutput { + s.LastModifiedTime = &v + return s +} + +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *GetEvaluationJobOutput) SetOutputDataConfig(v *EvaluationOutputDataConfig) *GetEvaluationJobOutput { + s.OutputDataConfig = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *GetEvaluationJobOutput) SetRoleArn(v string) *GetEvaluationJobOutput { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetEvaluationJobOutput) SetStatus(v string) *GetEvaluationJobOutput { + s.Status = &v return s } -// SetCustomizationType sets the CustomizationType field's value. -func (s *CreateModelCustomizationJobInput) SetCustomizationType(v string) *CreateModelCustomizationJobInput { - s.CustomizationType = &v - return s +type GetFoundationModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The model identifier. + // + // ModelIdentifier is a required field + ModelIdentifier *string `location:"uri" locationName:"modelIdentifier" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFoundationModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFoundationModelInput) GoString() string { + return s.String() } -// SetHyperParameters sets the HyperParameters field's value. -func (s *CreateModelCustomizationJobInput) SetHyperParameters(v map[string]*string) *CreateModelCustomizationJobInput { - s.HyperParameters = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetFoundationModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetFoundationModelInput"} + if s.ModelIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) + } + if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) + } -// SetJobName sets the JobName field's value. -func (s *CreateModelCustomizationJobInput) SetJobName(v string) *CreateModelCustomizationJobInput { - s.JobName = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetJobTags sets the JobTags field's value. -func (s *CreateModelCustomizationJobInput) SetJobTags(v []*Tag) *CreateModelCustomizationJobInput { - s.JobTags = v +// SetModelIdentifier sets the ModelIdentifier field's value. +func (s *GetFoundationModelInput) SetModelIdentifier(v string) *GetFoundationModelInput { + s.ModelIdentifier = &v return s } -// SetOutputDataConfig sets the OutputDataConfig field's value. -func (s *CreateModelCustomizationJobInput) SetOutputDataConfig(v *OutputDataConfig) *CreateModelCustomizationJobInput { - s.OutputDataConfig = v - return s -} +type GetFoundationModelOutput struct { + _ struct{} `type:"structure"` -// SetRoleArn sets the RoleArn field's value. -func (s *CreateModelCustomizationJobInput) SetRoleArn(v string) *CreateModelCustomizationJobInput { - s.RoleArn = &v - return s + // Information about the foundation model. + ModelDetails *FoundationModelDetails `locationName:"modelDetails" type:"structure"` } -// SetTrainingDataConfig sets the TrainingDataConfig field's value. -func (s *CreateModelCustomizationJobInput) SetTrainingDataConfig(v *TrainingDataConfig) *CreateModelCustomizationJobInput { - s.TrainingDataConfig = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFoundationModelOutput) String() string { + return awsutil.Prettify(s) } -// SetValidationDataConfig sets the ValidationDataConfig field's value. -func (s *CreateModelCustomizationJobInput) SetValidationDataConfig(v *ValidationDataConfig) *CreateModelCustomizationJobInput { - s.ValidationDataConfig = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetFoundationModelOutput) GoString() string { + return s.String() } -// SetVpcConfig sets the VpcConfig field's value. -func (s *CreateModelCustomizationJobInput) SetVpcConfig(v *VpcConfig) *CreateModelCustomizationJobInput { - s.VpcConfig = v +// SetModelDetails sets the ModelDetails field's value. +func (s *GetFoundationModelOutput) SetModelDetails(v *FoundationModelDetails) *GetFoundationModelOutput { + s.ModelDetails = v return s } -type CreateModelCustomizationJobOutput struct { - _ struct{} `type:"structure"` +type GetGuardrailInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // ARN of the fine tuning job + // The unique identifier of the guardrail for which to get details. // - // JobArn is a required field - JobArn *string `locationName:"jobArn" type:"string" required:"true"` + // GuardrailIdentifier is a required field + GuardrailIdentifier *string `location:"uri" locationName:"guardrailIdentifier" type:"string" required:"true"` + + // The version of the guardrail for which to get details. If you don't specify + // a version, the response returns details for the DRAFT version. + GuardrailVersion *string `location:"querystring" locationName:"guardrailVersion" type:"string"` } // String returns the string representation. @@ -2556,7 +6363,7 @@ type CreateModelCustomizationJobOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateModelCustomizationJobOutput) String() string { +func (s GetGuardrailInput) String() string { return awsutil.Prettify(s) } @@ -2565,43 +6372,127 @@ func (s CreateModelCustomizationJobOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateModelCustomizationJobOutput) GoString() string { +func (s GetGuardrailInput) GoString() string { return s.String() } -// SetJobArn sets the JobArn field's value. -func (s *CreateModelCustomizationJobOutput) SetJobArn(v string) *CreateModelCustomizationJobOutput { - s.JobArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetGuardrailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetGuardrailInput"} + if s.GuardrailIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("GuardrailIdentifier")) + } + if s.GuardrailIdentifier != nil && len(*s.GuardrailIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GuardrailIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *GetGuardrailInput) SetGuardrailIdentifier(v string) *GetGuardrailInput { + s.GuardrailIdentifier = &v return s } -type CreateProvisionedModelThroughputInput struct { +// SetGuardrailVersion sets the GuardrailVersion field's value. +func (s *GetGuardrailInput) SetGuardrailVersion(v string) *GetGuardrailInput { + s.GuardrailVersion = &v + return s +} + +type GetGuardrailOutput struct { _ struct{} `type:"structure"` - // Unique token value that you can provide. If this token matches a previous - // request, Amazon Bedrock ignores the request, but does not return an error. - ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + // The message that the guardrail returns when it blocks a prompt. + // + // BlockedInputMessaging is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetGuardrailOutput's + // String and GoString methods. + // + // BlockedInputMessaging is a required field + BlockedInputMessaging *string `locationName:"blockedInputMessaging" min:"1" type:"string" required:"true" sensitive:"true"` - // Commitment duration requested for the provisioned throughput. - CommitmentDuration *string `locationName:"commitmentDuration" type:"string" enum:"CommitmentDuration"` + // The message that the guardrail returns when it blocks a model response. + // + // BlockedOutputsMessaging is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetGuardrailOutput's + // String and GoString methods. + // + // BlockedOutputsMessaging is a required field + BlockedOutputsMessaging *string `locationName:"blockedOutputsMessaging" min:"1" type:"string" required:"true" sensitive:"true"` + + // The content policy that was configured for the guardrail. + ContentPolicy *GuardrailContentPolicy `locationName:"contentPolicy" type:"structure"` - // Name or ARN of the model to associate with this provisioned throughput. + // The date and time at which the guardrail was created. // - // ModelId is a required field - ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // Number of model units to allocate. + // The description of the guardrail. // - // ModelUnits is a required field - ModelUnits *int64 `locationName:"modelUnits" min:"1" type:"integer" required:"true"` + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetGuardrailOutput's + // String and GoString methods. + Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` - // Unique name for this provisioned throughput. + // Appears if the status of the guardrail is FAILED. A list of recommendations + // to carry out before retrying the request. + FailureRecommendations []*string `locationName:"failureRecommendations" type:"list"` + + // The ARN of the guardrail that was created. // - // ProvisionedModelName is a required field - ProvisionedModelName *string `locationName:"provisionedModelName" min:"1" type:"string" required:"true"` + // GuardrailArn is a required field + GuardrailArn *string `locationName:"guardrailArn" type:"string" required:"true"` - // Tags to associate with this provisioned throughput. - Tags []*Tag `locationName:"tags" type:"list"` + // The unique identifier of the guardrail. + // + // GuardrailId is a required field + GuardrailId *string `locationName:"guardrailId" type:"string" required:"true"` + + // The ARN of the KMS key that encrypts the guardrail. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"1" type:"string"` + + // The name of the guardrail. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetGuardrailOutput's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` + + // The sensitive information policy that was configured for the guardrail. + SensitiveInformationPolicy *GuardrailSensitiveInformationPolicy `locationName:"sensitiveInformationPolicy" type:"structure"` + + // The status of the guardrail. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"GuardrailStatus"` + + // Appears if the status is FAILED. A list of reasons for why the guardrail + // failed to be created, updated, versioned, or deleted. + StatusReasons []*string `locationName:"statusReasons" type:"list"` + + // The topic policy that was configured for the guardrail. + TopicPolicy *GuardrailTopicPolicy `locationName:"topicPolicy" type:"structure"` + + // The date and time at which the guardrail was updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The version of the guardrail. + // + // Version is a required field + Version *string `locationName:"version" type:"string" required:"true"` + + // The word policy that was configured for the guardrail. + WordPolicy *GuardrailWordPolicy `locationName:"wordPolicy" type:"structure"` } // String returns the string representation. @@ -2609,7 +6500,7 @@ type CreateProvisionedModelThroughputInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProvisionedModelThroughputInput) String() string { +func (s GetGuardrailOutput) String() string { return awsutil.Prettify(s) } @@ -2618,94 +6509,119 @@ func (s CreateProvisionedModelThroughputInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProvisionedModelThroughputInput) GoString() string { +func (s GetGuardrailOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateProvisionedModelThroughputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateProvisionedModelThroughputInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.ModelId == nil { - invalidParams.Add(request.NewErrParamRequired("ModelId")) - } - if s.ModelId != nil && len(*s.ModelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ModelId", 1)) - } - if s.ModelUnits == nil { - invalidParams.Add(request.NewErrParamRequired("ModelUnits")) - } - if s.ModelUnits != nil && *s.ModelUnits < 1 { - invalidParams.Add(request.NewErrParamMinValue("ModelUnits", 1)) - } - if s.ProvisionedModelName == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisionedModelName")) - } - if s.ProvisionedModelName != nil && len(*s.ProvisionedModelName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProvisionedModelName", 1)) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } +// SetBlockedInputMessaging sets the BlockedInputMessaging field's value. +func (s *GetGuardrailOutput) SetBlockedInputMessaging(v string) *GetGuardrailOutput { + s.BlockedInputMessaging = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBlockedOutputsMessaging sets the BlockedOutputsMessaging field's value. +func (s *GetGuardrailOutput) SetBlockedOutputsMessaging(v string) *GetGuardrailOutput { + s.BlockedOutputsMessaging = &v + return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateProvisionedModelThroughputInput) SetClientRequestToken(v string) *CreateProvisionedModelThroughputInput { - s.ClientRequestToken = &v +// SetContentPolicy sets the ContentPolicy field's value. +func (s *GetGuardrailOutput) SetContentPolicy(v *GuardrailContentPolicy) *GetGuardrailOutput { + s.ContentPolicy = v return s } -// SetCommitmentDuration sets the CommitmentDuration field's value. -func (s *CreateProvisionedModelThroughputInput) SetCommitmentDuration(v string) *CreateProvisionedModelThroughputInput { - s.CommitmentDuration = &v +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetGuardrailOutput) SetCreatedAt(v time.Time) *GetGuardrailOutput { + s.CreatedAt = &v return s } -// SetModelId sets the ModelId field's value. -func (s *CreateProvisionedModelThroughputInput) SetModelId(v string) *CreateProvisionedModelThroughputInput { - s.ModelId = &v +// SetDescription sets the Description field's value. +func (s *GetGuardrailOutput) SetDescription(v string) *GetGuardrailOutput { + s.Description = &v return s } -// SetModelUnits sets the ModelUnits field's value. -func (s *CreateProvisionedModelThroughputInput) SetModelUnits(v int64) *CreateProvisionedModelThroughputInput { - s.ModelUnits = &v +// SetFailureRecommendations sets the FailureRecommendations field's value. +func (s *GetGuardrailOutput) SetFailureRecommendations(v []*string) *GetGuardrailOutput { + s.FailureRecommendations = v return s } -// SetProvisionedModelName sets the ProvisionedModelName field's value. -func (s *CreateProvisionedModelThroughputInput) SetProvisionedModelName(v string) *CreateProvisionedModelThroughputInput { - s.ProvisionedModelName = &v +// SetGuardrailArn sets the GuardrailArn field's value. +func (s *GetGuardrailOutput) SetGuardrailArn(v string) *GetGuardrailOutput { + s.GuardrailArn = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateProvisionedModelThroughputInput) SetTags(v []*Tag) *CreateProvisionedModelThroughputInput { - s.Tags = v +// SetGuardrailId sets the GuardrailId field's value. +func (s *GetGuardrailOutput) SetGuardrailId(v string) *GetGuardrailOutput { + s.GuardrailId = &v return s } -type CreateProvisionedModelThroughputOutput struct { - _ struct{} `type:"structure"` +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *GetGuardrailOutput) SetKmsKeyArn(v string) *GetGuardrailOutput { + s.KmsKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetGuardrailOutput) SetName(v string) *GetGuardrailOutput { + s.Name = &v + return s +} + +// SetSensitiveInformationPolicy sets the SensitiveInformationPolicy field's value. +func (s *GetGuardrailOutput) SetSensitiveInformationPolicy(v *GuardrailSensitiveInformationPolicy) *GetGuardrailOutput { + s.SensitiveInformationPolicy = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetGuardrailOutput) SetStatus(v string) *GetGuardrailOutput { + s.Status = &v + return s +} + +// SetStatusReasons sets the StatusReasons field's value. +func (s *GetGuardrailOutput) SetStatusReasons(v []*string) *GetGuardrailOutput { + s.StatusReasons = v + return s +} + +// SetTopicPolicy sets the TopicPolicy field's value. +func (s *GetGuardrailOutput) SetTopicPolicy(v *GuardrailTopicPolicy) *GetGuardrailOutput { + s.TopicPolicy = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *GetGuardrailOutput) SetUpdatedAt(v time.Time) *GetGuardrailOutput { + s.UpdatedAt = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GetGuardrailOutput) SetVersion(v string) *GetGuardrailOutput { + s.Version = &v + return s +} - // The ARN for this provisioned throughput. +// SetWordPolicy sets the WordPolicy field's value. +func (s *GetGuardrailOutput) SetWordPolicy(v *GuardrailWordPolicy) *GetGuardrailOutput { + s.WordPolicy = v + return s +} + +type GetModelCustomizationJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Identifier for the customization job. // - // ProvisionedModelArn is a required field - ProvisionedModelArn *string `locationName:"provisionedModelArn" type:"string" required:"true"` + // JobIdentifier is a required field + JobIdentifier *string `location:"uri" locationName:"jobIdentifier" type:"string" required:"true"` } // String returns the string representation. @@ -2713,57 +6629,129 @@ type CreateProvisionedModelThroughputOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateProvisionedModelThroughputOutput) String() string { +func (s GetModelCustomizationJobInput) String() string { return awsutil.Prettify(s) } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateProvisionedModelThroughputOutput) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetModelCustomizationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetModelCustomizationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetModelCustomizationJobInput"} + if s.JobIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("JobIdentifier")) + } + if s.JobIdentifier != nil && len(*s.JobIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetProvisionedModelArn sets the ProvisionedModelArn field's value. -func (s *CreateProvisionedModelThroughputOutput) SetProvisionedModelArn(v string) *CreateProvisionedModelThroughputOutput { - s.ProvisionedModelArn = &v +// SetJobIdentifier sets the JobIdentifier field's value. +func (s *GetModelCustomizationJobInput) SetJobIdentifier(v string) *GetModelCustomizationJobInput { + s.JobIdentifier = &v return s } -// Summary information for a custom model. -type CustomModelSummary struct { +type GetModelCustomizationJobOutput struct { _ struct{} `type:"structure"` - // The base model ARN. + // Amazon Resource Name (ARN) of the base model. // // BaseModelArn is a required field - BaseModelArn *string `locationName:"baseModelArn" min:"20" type:"string" required:"true"` + BaseModelArn *string `locationName:"baseModelArn" type:"string" required:"true"` - // The base model name. - // - // BaseModelName is a required field - BaseModelName *string `locationName:"baseModelName" min:"1" type:"string" required:"true"` + // The token that you specified in the CreateCustomizationJob request. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"` - // Creation time of the model. + // Time that the resource was created. // // CreationTime is a required field CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // Specifies whether to carry out continued pre-training of a model or whether - // to fine-tune it. For more information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html). + // The type of model customization. CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` - // The ARN of the custom model. + // Time that the resource transitioned to terminal state. + EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` + + // Information about why the job failed. + FailureMessage *string `locationName:"failureMessage" type:"string"` + + // The hyperparameter values for the job. For details on the format for different + // models, see Custom model hyperparameters (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models-hp.html). // - // ModelArn is a required field - ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` + // HyperParameters is a required field + HyperParameters map[string]*string `locationName:"hyperParameters" type:"map" required:"true"` - // The name of the custom model. + // The Amazon Resource Name (ARN) of the customization job. // - // ModelName is a required field - ModelName *string `locationName:"modelName" min:"1" type:"string" required:"true"` + // JobArn is a required field + JobArn *string `locationName:"jobArn" type:"string" required:"true"` + + // The name of the customization job. + // + // JobName is a required field + JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + + // Time that the resource was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"iso8601"` + + // Output data configuration + // + // OutputDataConfig is a required field + OutputDataConfig *OutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) of the output model. + OutputModelArn *string `locationName:"outputModelArn" min:"20" type:"string"` + + // The custom model is encrypted at rest using this key. + OutputModelKmsKeyArn *string `locationName:"outputModelKmsKeyArn" min:"1" type:"string"` + + // The name of the output model. + // + // OutputModelName is a required field + OutputModelName *string `locationName:"outputModelName" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the IAM role. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + + // The status of the job. A successful job transitions from in-progress to completed + // when the output model is ready to use. If the job failed, the failure message + // contains information about why the job failed. + Status *string `locationName:"status" type:"string" enum:"ModelCustomizationJobStatus"` + + // Contains information about the training dataset. + // + // TrainingDataConfig is a required field + TrainingDataConfig *TrainingDataConfig `locationName:"trainingDataConfig" type:"structure" required:"true"` + + // Contains training metrics from the job creation. + TrainingMetrics *TrainingMetrics `locationName:"trainingMetrics" type:"structure"` + + // Contains information about the validation dataset. + // + // ValidationDataConfig is a required field + ValidationDataConfig *ValidationDataConfig `locationName:"validationDataConfig" type:"structure" required:"true"` + + // The loss metric for each validator that you provided in the createjob request. + ValidationMetrics []*ValidatorMetric `locationName:"validationMetrics" type:"list"` + + // VPC configuration for the custom model job. + VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` } // String returns the string representation. @@ -2771,7 +6759,7 @@ type CustomModelSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CustomModelSummary) String() string { +func (s GetModelCustomizationJobOutput) String() string { return awsutil.Prettify(s) } @@ -2780,118 +6768,137 @@ func (s CustomModelSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CustomModelSummary) GoString() string { +func (s GetModelCustomizationJobOutput) GoString() string { return s.String() } // SetBaseModelArn sets the BaseModelArn field's value. -func (s *CustomModelSummary) SetBaseModelArn(v string) *CustomModelSummary { +func (s *GetModelCustomizationJobOutput) SetBaseModelArn(v string) *GetModelCustomizationJobOutput { s.BaseModelArn = &v return s } -// SetBaseModelName sets the BaseModelName field's value. -func (s *CustomModelSummary) SetBaseModelName(v string) *CustomModelSummary { - s.BaseModelName = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *GetModelCustomizationJobOutput) SetClientRequestToken(v string) *GetModelCustomizationJobOutput { + s.ClientRequestToken = &v return s } // SetCreationTime sets the CreationTime field's value. -func (s *CustomModelSummary) SetCreationTime(v time.Time) *CustomModelSummary { +func (s *GetModelCustomizationJobOutput) SetCreationTime(v time.Time) *GetModelCustomizationJobOutput { s.CreationTime = &v return s } // SetCustomizationType sets the CustomizationType field's value. -func (s *CustomModelSummary) SetCustomizationType(v string) *CustomModelSummary { +func (s *GetModelCustomizationJobOutput) SetCustomizationType(v string) *GetModelCustomizationJobOutput { s.CustomizationType = &v return s } -// SetModelArn sets the ModelArn field's value. -func (s *CustomModelSummary) SetModelArn(v string) *CustomModelSummary { - s.ModelArn = &v +// SetEndTime sets the EndTime field's value. +func (s *GetModelCustomizationJobOutput) SetEndTime(v time.Time) *GetModelCustomizationJobOutput { + s.EndTime = &v return s } -// SetModelName sets the ModelName field's value. -func (s *CustomModelSummary) SetModelName(v string) *CustomModelSummary { - s.ModelName = &v +// SetFailureMessage sets the FailureMessage field's value. +func (s *GetModelCustomizationJobOutput) SetFailureMessage(v string) *GetModelCustomizationJobOutput { + s.FailureMessage = &v return s } -type DeleteCustomModelInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetHyperParameters sets the HyperParameters field's value. +func (s *GetModelCustomizationJobOutput) SetHyperParameters(v map[string]*string) *GetModelCustomizationJobOutput { + s.HyperParameters = v + return s +} - // Name of the model to delete. - // - // ModelIdentifier is a required field - ModelIdentifier *string `location:"uri" locationName:"modelIdentifier" min:"1" type:"string" required:"true"` +// SetJobArn sets the JobArn field's value. +func (s *GetModelCustomizationJobOutput) SetJobArn(v string) *GetModelCustomizationJobOutput { + s.JobArn = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteCustomModelInput) String() string { - return awsutil.Prettify(s) +// SetJobName sets the JobName field's value. +func (s *GetModelCustomizationJobOutput) SetJobName(v string) *GetModelCustomizationJobOutput { + s.JobName = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteCustomModelInput) GoString() string { - return s.String() +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetModelCustomizationJobOutput) SetLastModifiedTime(v time.Time) *GetModelCustomizationJobOutput { + s.LastModifiedTime = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCustomModelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCustomModelInput"} - if s.ModelIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) - } - if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) - } +// SetOutputDataConfig sets the OutputDataConfig field's value. +func (s *GetModelCustomizationJobOutput) SetOutputDataConfig(v *OutputDataConfig) *GetModelCustomizationJobOutput { + s.OutputDataConfig = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetOutputModelArn sets the OutputModelArn field's value. +func (s *GetModelCustomizationJobOutput) SetOutputModelArn(v string) *GetModelCustomizationJobOutput { + s.OutputModelArn = &v + return s } -// SetModelIdentifier sets the ModelIdentifier field's value. -func (s *DeleteCustomModelInput) SetModelIdentifier(v string) *DeleteCustomModelInput { - s.ModelIdentifier = &v +// SetOutputModelKmsKeyArn sets the OutputModelKmsKeyArn field's value. +func (s *GetModelCustomizationJobOutput) SetOutputModelKmsKeyArn(v string) *GetModelCustomizationJobOutput { + s.OutputModelKmsKeyArn = &v return s } -type DeleteCustomModelOutput struct { - _ struct{} `type:"structure"` +// SetOutputModelName sets the OutputModelName field's value. +func (s *GetModelCustomizationJobOutput) SetOutputModelName(v string) *GetModelCustomizationJobOutput { + s.OutputModelName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteCustomModelOutput) String() string { - return awsutil.Prettify(s) +// SetRoleArn sets the RoleArn field's value. +func (s *GetModelCustomizationJobOutput) SetRoleArn(v string) *GetModelCustomizationJobOutput { + s.RoleArn = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteCustomModelOutput) GoString() string { - return s.String() +// SetStatus sets the Status field's value. +func (s *GetModelCustomizationJobOutput) SetStatus(v string) *GetModelCustomizationJobOutput { + s.Status = &v + return s } -type DeleteModelInvocationLoggingConfigurationInput struct { +// SetTrainingDataConfig sets the TrainingDataConfig field's value. +func (s *GetModelCustomizationJobOutput) SetTrainingDataConfig(v *TrainingDataConfig) *GetModelCustomizationJobOutput { + s.TrainingDataConfig = v + return s +} + +// SetTrainingMetrics sets the TrainingMetrics field's value. +func (s *GetModelCustomizationJobOutput) SetTrainingMetrics(v *TrainingMetrics) *GetModelCustomizationJobOutput { + s.TrainingMetrics = v + return s +} + +// SetValidationDataConfig sets the ValidationDataConfig field's value. +func (s *GetModelCustomizationJobOutput) SetValidationDataConfig(v *ValidationDataConfig) *GetModelCustomizationJobOutput { + s.ValidationDataConfig = v + return s +} + +// SetValidationMetrics sets the ValidationMetrics field's value. +func (s *GetModelCustomizationJobOutput) SetValidationMetrics(v []*ValidatorMetric) *GetModelCustomizationJobOutput { + s.ValidationMetrics = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *GetModelCustomizationJobOutput) SetVpcConfig(v *VpcConfig) *GetModelCustomizationJobOutput { + s.VpcConfig = v + return s +} + +type GetModelInvocationLoggingConfigurationInput struct { _ struct{} `type:"structure" nopayload:"true"` } @@ -2900,7 +6907,7 @@ type DeleteModelInvocationLoggingConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteModelInvocationLoggingConfigurationInput) String() string { +func (s GetModelInvocationLoggingConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -2909,12 +6916,15 @@ func (s DeleteModelInvocationLoggingConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteModelInvocationLoggingConfigurationInput) GoString() string { +func (s GetModelInvocationLoggingConfigurationInput) GoString() string { return s.String() } -type DeleteModelInvocationLoggingConfigurationOutput struct { +type GetModelInvocationLoggingConfigurationOutput struct { _ struct{} `type:"structure"` + + // The current configuration values. + LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"` } // String returns the string representation. @@ -2922,7 +6932,7 @@ type DeleteModelInvocationLoggingConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteModelInvocationLoggingConfigurationOutput) String() string { +func (s GetModelInvocationLoggingConfigurationOutput) String() string { return awsutil.Prettify(s) } @@ -2931,14 +6941,20 @@ func (s DeleteModelInvocationLoggingConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteModelInvocationLoggingConfigurationOutput) GoString() string { +func (s GetModelInvocationLoggingConfigurationOutput) GoString() string { return s.String() } -type DeleteProvisionedModelThroughputInput struct { +// SetLoggingConfig sets the LoggingConfig field's value. +func (s *GetModelInvocationLoggingConfigurationOutput) SetLoggingConfig(v *LoggingConfig) *GetModelInvocationLoggingConfigurationOutput { + s.LoggingConfig = v + return s +} + +type GetProvisionedModelThroughputInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The ARN or name of the provisioned throughput. + // The Amazon Resource Name (ARN) or name of the Provisioned Throughput. // // ProvisionedModelId is a required field ProvisionedModelId *string `location:"uri" locationName:"provisionedModelId" type:"string" required:"true"` @@ -2949,7 +6965,7 @@ type DeleteProvisionedModelThroughputInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteProvisionedModelThroughputInput) String() string { +func (s GetProvisionedModelThroughputInput) String() string { return awsutil.Prettify(s) } @@ -2958,13 +6974,13 @@ func (s DeleteProvisionedModelThroughputInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteProvisionedModelThroughputInput) GoString() string { +func (s GetProvisionedModelThroughputInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteProvisionedModelThroughputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteProvisionedModelThroughputInput"} +func (s *GetProvisionedModelThroughputInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProvisionedModelThroughputInput"} if s.ProvisionedModelId == nil { invalidParams.Add(request.NewErrParamRequired("ProvisionedModelId")) } @@ -2979,13 +6995,79 @@ func (s *DeleteProvisionedModelThroughputInput) Validate() error { } // SetProvisionedModelId sets the ProvisionedModelId field's value. -func (s *DeleteProvisionedModelThroughputInput) SetProvisionedModelId(v string) *DeleteProvisionedModelThroughputInput { +func (s *GetProvisionedModelThroughputInput) SetProvisionedModelId(v string) *GetProvisionedModelThroughputInput { s.ProvisionedModelId = &v return s } -type DeleteProvisionedModelThroughputOutput struct { +type GetProvisionedModelThroughputOutput struct { _ struct{} `type:"structure"` + + // Commitment duration of the Provisioned Throughput. + CommitmentDuration *string `locationName:"commitmentDuration" type:"string" enum:"CommitmentDuration"` + + // The timestamp for when the commitment term for the Provisioned Throughput + // expires. + CommitmentExpirationTime *time.Time `locationName:"commitmentExpirationTime" type:"timestamp" timestampFormat:"iso8601"` + + // The timestamp of the creation time for this Provisioned Throughput. + // + // CreationTime is a required field + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The Amazon Resource Name (ARN) of the model requested to be associated to + // this Provisioned Throughput. This value differs from the modelArn if updating + // hasn't completed. + // + // DesiredModelArn is a required field + DesiredModelArn *string `locationName:"desiredModelArn" min:"20" type:"string" required:"true"` + + // The number of model units that was requested for this Provisioned Throughput. + // + // DesiredModelUnits is a required field + DesiredModelUnits *int64 `locationName:"desiredModelUnits" min:"1" type:"integer" required:"true"` + + // A failure message for any issues that occurred during creation, updating, + // or deletion of the Provisioned Throughput. + FailureMessage *string `locationName:"failureMessage" type:"string"` + + // The Amazon Resource Name (ARN) of the base model for which the Provisioned + // Throughput was created, or of the base model that the custom model for which + // the Provisioned Throughput was created was customized. + // + // FoundationModelArn is a required field + FoundationModelArn *string `locationName:"foundationModelArn" type:"string" required:"true"` + + // The timestamp of the last time that this Provisioned Throughput was modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The Amazon Resource Name (ARN) of the model associated with this Provisioned + // Throughput. + // + // ModelArn is a required field + ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` + + // The number of model units allocated to this Provisioned Throughput. + // + // ModelUnits is a required field + ModelUnits *int64 `locationName:"modelUnits" min:"1" type:"integer" required:"true"` + + // The Amazon Resource Name (ARN) of the Provisioned Throughput. + // + // ProvisionedModelArn is a required field + ProvisionedModelArn *string `locationName:"provisionedModelArn" type:"string" required:"true"` + + // The name of the Provisioned Throughput. + // + // ProvisionedModelName is a required field + ProvisionedModelName *string `locationName:"provisionedModelName" min:"1" type:"string" required:"true"` + + // The status of the Provisioned Throughput. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ProvisionedModelStatus"` } // String returns the string representation. @@ -2993,7 +7075,7 @@ type DeleteProvisionedModelThroughputOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteProvisionedModelThroughputOutput) String() string { +func (s GetProvisionedModelThroughputOutput) String() string { return awsutil.Prettify(s) } @@ -3002,47 +7084,146 @@ func (s DeleteProvisionedModelThroughputOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteProvisionedModelThroughputOutput) GoString() string { +func (s GetProvisionedModelThroughputOutput) GoString() string { return s.String() } -// Information about a foundation model. -type FoundationModelDetails struct { - _ struct{} `type:"structure"` +// SetCommitmentDuration sets the CommitmentDuration field's value. +func (s *GetProvisionedModelThroughputOutput) SetCommitmentDuration(v string) *GetProvisionedModelThroughputOutput { + s.CommitmentDuration = &v + return s +} - // The customization that the model supports. - CustomizationsSupported []*string `locationName:"customizationsSupported" type:"list" enum:"ModelCustomization"` +// SetCommitmentExpirationTime sets the CommitmentExpirationTime field's value. +func (s *GetProvisionedModelThroughputOutput) SetCommitmentExpirationTime(v time.Time) *GetProvisionedModelThroughputOutput { + s.CommitmentExpirationTime = &v + return s +} - // The inference types that the model supports. - InferenceTypesSupported []*string `locationName:"inferenceTypesSupported" type:"list" enum:"InferenceType"` +// SetCreationTime sets the CreationTime field's value. +func (s *GetProvisionedModelThroughputOutput) SetCreationTime(v time.Time) *GetProvisionedModelThroughputOutput { + s.CreationTime = &v + return s +} - // The input modalities that the model supports. - InputModalities []*string `locationName:"inputModalities" type:"list" enum:"ModelModality"` +// SetDesiredModelArn sets the DesiredModelArn field's value. +func (s *GetProvisionedModelThroughputOutput) SetDesiredModelArn(v string) *GetProvisionedModelThroughputOutput { + s.DesiredModelArn = &v + return s +} - // The model ARN. - // - // ModelArn is a required field - ModelArn *string `locationName:"modelArn" type:"string" required:"true"` +// SetDesiredModelUnits sets the DesiredModelUnits field's value. +func (s *GetProvisionedModelThroughputOutput) SetDesiredModelUnits(v int64) *GetProvisionedModelThroughputOutput { + s.DesiredModelUnits = &v + return s +} - // The model identifier. - // - // ModelId is a required field - ModelId *string `locationName:"modelId" type:"string" required:"true"` +// SetFailureMessage sets the FailureMessage field's value. +func (s *GetProvisionedModelThroughputOutput) SetFailureMessage(v string) *GetProvisionedModelThroughputOutput { + s.FailureMessage = &v + return s +} - // Contains details about whether a model version is available or deprecated - ModelLifecycle *FoundationModelLifecycle `locationName:"modelLifecycle" type:"structure"` +// SetFoundationModelArn sets the FoundationModelArn field's value. +func (s *GetProvisionedModelThroughputOutput) SetFoundationModelArn(v string) *GetProvisionedModelThroughputOutput { + s.FoundationModelArn = &v + return s +} - // The model name. - ModelName *string `locationName:"modelName" min:"1" type:"string"` +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetProvisionedModelThroughputOutput) SetLastModifiedTime(v time.Time) *GetProvisionedModelThroughputOutput { + s.LastModifiedTime = &v + return s +} - // The output modalities that the model supports. - OutputModalities []*string `locationName:"outputModalities" type:"list" enum:"ModelModality"` +// SetModelArn sets the ModelArn field's value. +func (s *GetProvisionedModelThroughputOutput) SetModelArn(v string) *GetProvisionedModelThroughputOutput { + s.ModelArn = &v + return s +} - // he model's provider name. - ProviderName *string `locationName:"providerName" min:"1" type:"string"` +// SetModelUnits sets the ModelUnits field's value. +func (s *GetProvisionedModelThroughputOutput) SetModelUnits(v int64) *GetProvisionedModelThroughputOutput { + s.ModelUnits = &v + return s +} - // Indicates whether the model supports streaming. - ResponseStreamingSupported *bool `locationName:"responseStreamingSupported" type:"boolean"` +// SetProvisionedModelArn sets the ProvisionedModelArn field's value. +func (s *GetProvisionedModelThroughputOutput) SetProvisionedModelArn(v string) *GetProvisionedModelThroughputOutput { + s.ProvisionedModelArn = &v + return s +} + +// SetProvisionedModelName sets the ProvisionedModelName field's value. +func (s *GetProvisionedModelThroughputOutput) SetProvisionedModelName(v string) *GetProvisionedModelThroughputOutput { + s.ProvisionedModelName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetProvisionedModelThroughputOutput) SetStatus(v string) *GetProvisionedModelThroughputOutput { + s.Status = &v + return s +} + +// Contains filter strengths for harmful content. Guardrails support the following +// content filters to detect and filter harmful user inputs and FM-generated +// outputs. +// +// - Hate – Describes language or a statement that discriminates, criticizes, +// insults, denounces, or dehumanizes a person or group on the basis of an +// identity (such as race, ethnicity, gender, religion, sexual orientation, +// ability, and national origin). +// +// - Insults – Describes language or a statement that includes demeaning, +// humiliating, mocking, insulting, or belittling language. This type of +// language is also labeled as bullying. +// +// - Sexual – Describes language or a statement that indicates sexual interest, +// activity, or arousal using direct or indirect references to body parts, +// physical traits, or sex. +// +// - Violence – Describes language or a statement that includes glorification +// of or threats to inflict physical pain, hurt, or injury toward a person, +// group or thing. +// +// Content filtering depends on the confidence classification of user inputs +// and FM responses across each of the four harmful categories. All input and +// output statements are classified into one of four confidence levels (NONE, +// LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement +// is classified as Hate with HIGH confidence, the likelihood of the statement +// representing hateful content is high. A single statement can be classified +// across multiple categories with varying confidence levels. For example, a +// single statement can be classified as Hate with HIGH confidence, Insults +// with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM +// confidence. +// +// For more information, see Guardrails content filters (https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-filters.html). +// +// This data type is used in the following API operations: +// +// - GetGuardrail response body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetGuardrail.html#API_GetGuardrail_ResponseSyntax) +type GuardrailContentFilter struct { + _ struct{} `type:"structure"` + + // The strength of the content filter to apply to prompts. As you increase the + // filter strength, the likelihood of filtering harmful content increases and + // the probability of seeing harmful content in your application reduces. + // + // InputStrength is a required field + InputStrength *string `locationName:"inputStrength" type:"string" required:"true" enum:"GuardrailFilterStrength"` + + // The strength of the content filter to apply to model responses. As you increase + // the filter strength, the likelihood of filtering harmful content increases + // and the probability of seeing harmful content in your application reduces. + // + // OutputStrength is a required field + OutputStrength *string `locationName:"outputStrength" type:"string" required:"true" enum:"GuardrailFilterStrength"` + + // The harmful category that the content filter is applied to. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailContentFilterType"` } // String returns the string representation. @@ -3050,7 +7231,7 @@ type FoundationModelDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FoundationModelDetails) String() string { +func (s GuardrailContentFilter) String() string { return awsutil.Prettify(s) } @@ -3059,78 +7240,156 @@ func (s FoundationModelDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FoundationModelDetails) GoString() string { +func (s GuardrailContentFilter) GoString() string { return s.String() } -// SetCustomizationsSupported sets the CustomizationsSupported field's value. -func (s *FoundationModelDetails) SetCustomizationsSupported(v []*string) *FoundationModelDetails { - s.CustomizationsSupported = v +// SetInputStrength sets the InputStrength field's value. +func (s *GuardrailContentFilter) SetInputStrength(v string) *GuardrailContentFilter { + s.InputStrength = &v return s } -// SetInferenceTypesSupported sets the InferenceTypesSupported field's value. -func (s *FoundationModelDetails) SetInferenceTypesSupported(v []*string) *FoundationModelDetails { - s.InferenceTypesSupported = v +// SetOutputStrength sets the OutputStrength field's value. +func (s *GuardrailContentFilter) SetOutputStrength(v string) *GuardrailContentFilter { + s.OutputStrength = &v return s } -// SetInputModalities sets the InputModalities field's value. -func (s *FoundationModelDetails) SetInputModalities(v []*string) *FoundationModelDetails { - s.InputModalities = v +// SetType sets the Type field's value. +func (s *GuardrailContentFilter) SetType(v string) *GuardrailContentFilter { + s.Type = &v return s } -// SetModelArn sets the ModelArn field's value. -func (s *FoundationModelDetails) SetModelArn(v string) *FoundationModelDetails { - s.ModelArn = &v - return s -} +// Contains filter strengths for harmful content. Guardrails support the following +// content filters to detect and filter harmful user inputs and FM-generated +// outputs. +// +// - Hate – Describes language or a statement that discriminates, criticizes, +// insults, denounces, or dehumanizes a person or group on the basis of an +// identity (such as race, ethnicity, gender, religion, sexual orientation, +// ability, and national origin). +// +// - Insults – Describes language or a statement that includes demeaning, +// humiliating, mocking, insulting, or belittling language. This type of +// language is also labeled as bullying. +// +// - Sexual – Describes language or a statement that indicates sexual interest, +// activity, or arousal using direct or indirect references to body parts, +// physical traits, or sex. +// +// - Violence – Describes language or a statement that includes glorification +// of or threats to inflict physical pain, hurt, or injury toward a person, +// group or thing. +// +// Content filtering depends on the confidence classification of user inputs +// and FM responses across each of the four harmful categories. All input and +// output statements are classified into one of four confidence levels (NONE, +// LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement +// is classified as Hate with HIGH confidence, the likelihood of the statement +// representing hateful content is high. A single statement can be classified +// across multiple categories with varying confidence levels. For example, a +// single statement can be classified as Hate with HIGH confidence, Insults +// with LOW confidence, Sexual with NONE confidence, and Violence with MEDIUM +// confidence. +// +// For more information, see Guardrails content filters (https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-filters.html). +// +// This data type is used in the following API operations: +// +// - CreateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateGuardrail.html#API_CreateGuardrail_RequestSyntax) +// +// - UpdateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_UpdateGuardrail.html#API_UpdateGuardrail_RequestSyntax) +type GuardrailContentFilterConfig struct { + _ struct{} `type:"structure"` -// SetModelId sets the ModelId field's value. -func (s *FoundationModelDetails) SetModelId(v string) *FoundationModelDetails { - s.ModelId = &v - return s + // The strength of the content filter to apply to prompts. As you increase the + // filter strength, the likelihood of filtering harmful content increases and + // the probability of seeing harmful content in your application reduces. + // + // InputStrength is a required field + InputStrength *string `locationName:"inputStrength" type:"string" required:"true" enum:"GuardrailFilterStrength"` + + // The strength of the content filter to apply to model responses. As you increase + // the filter strength, the likelihood of filtering harmful content increases + // and the probability of seeing harmful content in your application reduces. + // + // OutputStrength is a required field + OutputStrength *string `locationName:"outputStrength" type:"string" required:"true" enum:"GuardrailFilterStrength"` + + // The harmful category that the content filter is applied to. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailContentFilterType"` } -// SetModelLifecycle sets the ModelLifecycle field's value. -func (s *FoundationModelDetails) SetModelLifecycle(v *FoundationModelLifecycle) *FoundationModelDetails { - s.ModelLifecycle = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailContentFilterConfig) String() string { + return awsutil.Prettify(s) } -// SetModelName sets the ModelName field's value. -func (s *FoundationModelDetails) SetModelName(v string) *FoundationModelDetails { - s.ModelName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailContentFilterConfig) GoString() string { + return s.String() } -// SetOutputModalities sets the OutputModalities field's value. -func (s *FoundationModelDetails) SetOutputModalities(v []*string) *FoundationModelDetails { - s.OutputModalities = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GuardrailContentFilterConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailContentFilterConfig"} + if s.InputStrength == nil { + invalidParams.Add(request.NewErrParamRequired("InputStrength")) + } + if s.OutputStrength == nil { + invalidParams.Add(request.NewErrParamRequired("OutputStrength")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetProviderName sets the ProviderName field's value. -func (s *FoundationModelDetails) SetProviderName(v string) *FoundationModelDetails { - s.ProviderName = &v +// SetInputStrength sets the InputStrength field's value. +func (s *GuardrailContentFilterConfig) SetInputStrength(v string) *GuardrailContentFilterConfig { + s.InputStrength = &v + return s +} + +// SetOutputStrength sets the OutputStrength field's value. +func (s *GuardrailContentFilterConfig) SetOutputStrength(v string) *GuardrailContentFilterConfig { + s.OutputStrength = &v return s } -// SetResponseStreamingSupported sets the ResponseStreamingSupported field's value. -func (s *FoundationModelDetails) SetResponseStreamingSupported(v bool) *FoundationModelDetails { - s.ResponseStreamingSupported = &v +// SetType sets the Type field's value. +func (s *GuardrailContentFilterConfig) SetType(v string) *GuardrailContentFilterConfig { + s.Type = &v return s } -// Details about whether a model version is available or deprecated. -type FoundationModelLifecycle struct { +// Contains details about how to handle harmful content. +// +// This data type is used in the following API operations: +// +// - GetGuardrail response body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetGuardrail.html#API_GetGuardrail_ResponseSyntax) +type GuardrailContentPolicy struct { _ struct{} `type:"structure"` - // Specifies whether a model version is available (ACTIVE) or deprecated (LEGACY. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"FoundationModelLifecycleStatus"` + // Contains the type of the content filter and how strongly it should apply + // to prompts and model responses. + Filters []*GuardrailContentFilter `locationName:"filters" min:"1" type:"list"` } // String returns the string representation. @@ -3138,7 +7397,7 @@ type FoundationModelLifecycle struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FoundationModelLifecycle) String() string { +func (s GuardrailContentPolicy) String() string { return awsutil.Prettify(s) } @@ -3147,53 +7406,31 @@ func (s FoundationModelLifecycle) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FoundationModelLifecycle) GoString() string { +func (s GuardrailContentPolicy) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *FoundationModelLifecycle) SetStatus(v string) *FoundationModelLifecycle { - s.Status = &v +// SetFilters sets the Filters field's value. +func (s *GuardrailContentPolicy) SetFilters(v []*GuardrailContentFilter) *GuardrailContentPolicy { + s.Filters = v return s } -// Summary information for a foundation model. -type FoundationModelSummary struct { +// Contains details about how to handle harmful content. +// +// This data type is used in the following API operations: +// +// - CreateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateGuardrail.html#API_CreateGuardrail_RequestSyntax) +// +// - UpdateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_UpdateGuardrail.html#API_UpdateGuardrail_RequestSyntax) +type GuardrailContentPolicyConfig struct { _ struct{} `type:"structure"` - // Whether the model supports fine-tuning or continual pre-training. - CustomizationsSupported []*string `locationName:"customizationsSupported" type:"list" enum:"ModelCustomization"` - - // The inference types that the model supports. - InferenceTypesSupported []*string `locationName:"inferenceTypesSupported" type:"list" enum:"InferenceType"` - - // The input modalities that the model supports. - InputModalities []*string `locationName:"inputModalities" type:"list" enum:"ModelModality"` - - // The ARN of the foundation model. + // Contains the type of the content filter and how strongly it should apply + // to prompts and model responses. // - // ModelArn is a required field - ModelArn *string `locationName:"modelArn" type:"string" required:"true"` - - // The model Id of the foundation model. - // - // ModelId is a required field - ModelId *string `locationName:"modelId" type:"string" required:"true"` - - // Contains details about whether a model version is available or deprecated. - ModelLifecycle *FoundationModelLifecycle `locationName:"modelLifecycle" type:"structure"` - - // The name of the model. - ModelName *string `locationName:"modelName" min:"1" type:"string"` - - // The output modalities that the model supports. - OutputModalities []*string `locationName:"outputModalities" type:"list" enum:"ModelModality"` - - // The model's provider name. - ProviderName *string `locationName:"providerName" min:"1" type:"string"` - - // Indicates whether the model supports streaming. - ResponseStreamingSupported *bool `locationName:"responseStreamingSupported" type:"boolean"` + // FiltersConfig is a required field + FiltersConfig []*GuardrailContentFilterConfig `locationName:"filtersConfig" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -3201,7 +7438,7 @@ type FoundationModelSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FoundationModelSummary) String() string { +func (s GuardrailContentPolicyConfig) String() string { return awsutil.Prettify(s) } @@ -3210,77 +7447,86 @@ func (s FoundationModelSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FoundationModelSummary) GoString() string { +func (s GuardrailContentPolicyConfig) GoString() string { return s.String() } -// SetCustomizationsSupported sets the CustomizationsSupported field's value. -func (s *FoundationModelSummary) SetCustomizationsSupported(v []*string) *FoundationModelSummary { - s.CustomizationsSupported = v - return s -} - -// SetInferenceTypesSupported sets the InferenceTypesSupported field's value. -func (s *FoundationModelSummary) SetInferenceTypesSupported(v []*string) *FoundationModelSummary { - s.InferenceTypesSupported = v - return s -} - -// SetInputModalities sets the InputModalities field's value. -func (s *FoundationModelSummary) SetInputModalities(v []*string) *FoundationModelSummary { - s.InputModalities = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GuardrailContentPolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailContentPolicyConfig"} + if s.FiltersConfig == nil { + invalidParams.Add(request.NewErrParamRequired("FiltersConfig")) + } + if s.FiltersConfig != nil && len(s.FiltersConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FiltersConfig", 1)) + } + if s.FiltersConfig != nil { + for i, v := range s.FiltersConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FiltersConfig", i), err.(request.ErrInvalidParams)) + } + } + } -// SetModelArn sets the ModelArn field's value. -func (s *FoundationModelSummary) SetModelArn(v string) *FoundationModelSummary { - s.ModelArn = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetModelId sets the ModelId field's value. -func (s *FoundationModelSummary) SetModelId(v string) *FoundationModelSummary { - s.ModelId = &v +// SetFiltersConfig sets the FiltersConfig field's value. +func (s *GuardrailContentPolicyConfig) SetFiltersConfig(v []*GuardrailContentFilterConfig) *GuardrailContentPolicyConfig { + s.FiltersConfig = v return s } -// SetModelLifecycle sets the ModelLifecycle field's value. -func (s *FoundationModelSummary) SetModelLifecycle(v *FoundationModelLifecycle) *FoundationModelSummary { - s.ModelLifecycle = v - return s -} +// The managed word list that was configured for the guardrail. (This is a list +// of words that are pre-defined and managed by Guardrails only.) +type GuardrailManagedWords struct { + _ struct{} `type:"structure"` -// SetModelName sets the ModelName field's value. -func (s *FoundationModelSummary) SetModelName(v string) *FoundationModelSummary { - s.ModelName = &v - return s + // ManagedWords$type The managed word type that was configured for the guardrail. + // (For now, we only offer profanity word list) + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailManagedWordsType"` } -// SetOutputModalities sets the OutputModalities field's value. -func (s *FoundationModelSummary) SetOutputModalities(v []*string) *FoundationModelSummary { - s.OutputModalities = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailManagedWords) String() string { + return awsutil.Prettify(s) } -// SetProviderName sets the ProviderName field's value. -func (s *FoundationModelSummary) SetProviderName(v string) *FoundationModelSummary { - s.ProviderName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailManagedWords) GoString() string { + return s.String() } -// SetResponseStreamingSupported sets the ResponseStreamingSupported field's value. -func (s *FoundationModelSummary) SetResponseStreamingSupported(v bool) *FoundationModelSummary { - s.ResponseStreamingSupported = &v +// SetType sets the Type field's value. +func (s *GuardrailManagedWords) SetType(v string) *GuardrailManagedWords { + s.Type = &v return s } -type GetCustomModelInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The managed word list to configure for the guardrail. +type GuardrailManagedWordsConfig struct { + _ struct{} `type:"structure"` - // Name or ARN of the custom model. + // The managed word type to configure for the guardrail. // - // ModelIdentifier is a required field - ModelIdentifier *string `location:"uri" locationName:"modelIdentifier" min:"1" type:"string" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailManagedWordsType"` } // String returns the string representation. @@ -3288,7 +7534,7 @@ type GetCustomModelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCustomModelInput) String() string { +func (s GuardrailManagedWordsConfig) String() string { return awsutil.Prettify(s) } @@ -3297,18 +7543,15 @@ func (s GetCustomModelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCustomModelInput) GoString() string { +func (s GuardrailManagedWordsConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCustomModelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCustomModelInput"} - if s.ModelIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) - } - if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) +func (s *GuardrailManagedWordsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailManagedWordsConfig"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) } if invalidParams.Len() > 0 { @@ -3317,70 +7560,70 @@ func (s *GetCustomModelInput) Validate() error { return nil } -// SetModelIdentifier sets the ModelIdentifier field's value. -func (s *GetCustomModelInput) SetModelIdentifier(v string) *GetCustomModelInput { - s.ModelIdentifier = &v +// SetType sets the Type field's value. +func (s *GuardrailManagedWordsConfig) SetType(v string) *GuardrailManagedWordsConfig { + s.Type = &v return s } -type GetCustomModelOutput struct { +// The PII entity configured for the guardrail. +type GuardrailPiiEntity struct { _ struct{} `type:"structure"` - // ARN of the base model. + // The configured guardrail action when PII entity is detected. // - // BaseModelArn is a required field - BaseModelArn *string `locationName:"baseModelArn" min:"20" type:"string" required:"true"` + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"GuardrailSensitiveInformationAction"` - // Creation time of the model. + // The type of PII entity. For example, Social Security Number. // - // CreationTime is a required field - CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` - - // The type of model customization. - CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` - - // Hyperparameter values associated with this model. - HyperParameters map[string]*string `locationName:"hyperParameters" type:"map"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailPiiEntityType"` +} - // Job ARN associated with this model. - // - // JobArn is a required field - JobArn *string `locationName:"jobArn" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailPiiEntity) String() string { + return awsutil.Prettify(s) +} - // Job name associated with this model. - JobName *string `locationName:"jobName" min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailPiiEntity) GoString() string { + return s.String() +} - // ARN associated with this model. - // - // ModelArn is a required field - ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` +// SetAction sets the Action field's value. +func (s *GuardrailPiiEntity) SetAction(v string) *GuardrailPiiEntity { + s.Action = &v + return s +} - // The custom model is encrypted at rest using this key. - ModelKmsKeyArn *string `locationName:"modelKmsKeyArn" min:"1" type:"string"` +// SetType sets the Type field's value. +func (s *GuardrailPiiEntity) SetType(v string) *GuardrailPiiEntity { + s.Type = &v + return s +} - // Model name associated with this model. - // - // ModelName is a required field - ModelName *string `locationName:"modelName" min:"1" type:"string" required:"true"` +// The PII entity to configure for the guardrail. +type GuardrailPiiEntityConfig struct { + _ struct{} `type:"structure"` - // Output data configuration associated with this custom model. + // Configure guardrail action when the PII entity is detected. // - // OutputDataConfig is a required field - OutputDataConfig *OutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"GuardrailSensitiveInformationAction"` - // Information about the training dataset. + // Configure guardrail type when the PII entity is detected. // - // TrainingDataConfig is a required field - TrainingDataConfig *TrainingDataConfig `locationName:"trainingDataConfig" type:"structure" required:"true"` - - // The training metrics from the job creation. - TrainingMetrics *TrainingMetrics `locationName:"trainingMetrics" type:"structure"` - - // Array of up to 10 validators. - ValidationDataConfig *ValidationDataConfig `locationName:"validationDataConfig" type:"structure"` - - // The validation metrics from the job creation. - ValidationMetrics []*ValidatorMetric `locationName:"validationMetrics" type:"list"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailPiiEntityType"` } // String returns the string representation. @@ -3388,7 +7631,7 @@ type GetCustomModelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCustomModelOutput) String() string { +func (s GuardrailPiiEntityConfig) String() string { return awsutil.Prettify(s) } @@ -3397,101 +7640,124 @@ func (s GetCustomModelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCustomModelOutput) GoString() string { +func (s GuardrailPiiEntityConfig) GoString() string { return s.String() } -// SetBaseModelArn sets the BaseModelArn field's value. -func (s *GetCustomModelOutput) SetBaseModelArn(v string) *GetCustomModelOutput { - s.BaseModelArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GuardrailPiiEntityConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailPiiEntityConfig"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } -// SetCreationTime sets the CreationTime field's value. -func (s *GetCustomModelOutput) SetCreationTime(v time.Time) *GetCustomModelOutput { - s.CreationTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCustomizationType sets the CustomizationType field's value. -func (s *GetCustomModelOutput) SetCustomizationType(v string) *GetCustomModelOutput { - s.CustomizationType = &v +// SetAction sets the Action field's value. +func (s *GuardrailPiiEntityConfig) SetAction(v string) *GuardrailPiiEntityConfig { + s.Action = &v return s } -// SetHyperParameters sets the HyperParameters field's value. -func (s *GetCustomModelOutput) SetHyperParameters(v map[string]*string) *GetCustomModelOutput { - s.HyperParameters = v +// SetType sets the Type field's value. +func (s *GuardrailPiiEntityConfig) SetType(v string) *GuardrailPiiEntityConfig { + s.Type = &v return s } -// SetJobArn sets the JobArn field's value. -func (s *GetCustomModelOutput) SetJobArn(v string) *GetCustomModelOutput { - s.JobArn = &v - return s -} +// The regular expression configured for the guardrail. +type GuardrailRegex struct { + _ struct{} `type:"structure"` -// SetJobName sets the JobName field's value. -func (s *GetCustomModelOutput) SetJobName(v string) *GetCustomModelOutput { - s.JobName = &v - return s -} + // The action taken when a match to the regular expression is detected. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"GuardrailSensitiveInformationAction"` -// SetModelArn sets the ModelArn field's value. -func (s *GetCustomModelOutput) SetModelArn(v string) *GetCustomModelOutput { - s.ModelArn = &v - return s + // The description of the regular expression for the guardrail. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the regular expression for the guardrail. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The pattern of the regular expression configured for the guardrail. + // + // Pattern is a required field + Pattern *string `locationName:"pattern" min:"1" type:"string" required:"true"` } -// SetModelKmsKeyArn sets the ModelKmsKeyArn field's value. -func (s *GetCustomModelOutput) SetModelKmsKeyArn(v string) *GetCustomModelOutput { - s.ModelKmsKeyArn = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailRegex) String() string { + return awsutil.Prettify(s) } -// SetModelName sets the ModelName field's value. -func (s *GetCustomModelOutput) SetModelName(v string) *GetCustomModelOutput { - s.ModelName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailRegex) GoString() string { + return s.String() } -// SetOutputDataConfig sets the OutputDataConfig field's value. -func (s *GetCustomModelOutput) SetOutputDataConfig(v *OutputDataConfig) *GetCustomModelOutput { - s.OutputDataConfig = v +// SetAction sets the Action field's value. +func (s *GuardrailRegex) SetAction(v string) *GuardrailRegex { + s.Action = &v return s } -// SetTrainingDataConfig sets the TrainingDataConfig field's value. -func (s *GetCustomModelOutput) SetTrainingDataConfig(v *TrainingDataConfig) *GetCustomModelOutput { - s.TrainingDataConfig = v +// SetDescription sets the Description field's value. +func (s *GuardrailRegex) SetDescription(v string) *GuardrailRegex { + s.Description = &v return s } -// SetTrainingMetrics sets the TrainingMetrics field's value. -func (s *GetCustomModelOutput) SetTrainingMetrics(v *TrainingMetrics) *GetCustomModelOutput { - s.TrainingMetrics = v +// SetName sets the Name field's value. +func (s *GuardrailRegex) SetName(v string) *GuardrailRegex { + s.Name = &v return s } -// SetValidationDataConfig sets the ValidationDataConfig field's value. -func (s *GetCustomModelOutput) SetValidationDataConfig(v *ValidationDataConfig) *GetCustomModelOutput { - s.ValidationDataConfig = v +// SetPattern sets the Pattern field's value. +func (s *GuardrailRegex) SetPattern(v string) *GuardrailRegex { + s.Pattern = &v return s } -// SetValidationMetrics sets the ValidationMetrics field's value. -func (s *GetCustomModelOutput) SetValidationMetrics(v []*ValidatorMetric) *GetCustomModelOutput { - s.ValidationMetrics = v - return s -} +// The regular expression to configure for the guardrail. +type GuardrailRegexConfig struct { + _ struct{} `type:"structure"` -type GetFoundationModelInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The guardrail action to configure when matching regular expression is detected. + // + // Action is a required field + Action *string `locationName:"action" type:"string" required:"true" enum:"GuardrailSensitiveInformationAction"` - // The model identifier. + // The description of the regular expression to configure for the guardrail. + Description *string `locationName:"description" min:"1" type:"string"` + + // The name of the regular expression to configure for the guardrail. // - // ModelIdentifier is a required field - ModelIdentifier *string `location:"uri" locationName:"modelIdentifier" min:"1" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The regular expression pattern to configure for the guardrail. + // + // Pattern is a required field + Pattern *string `locationName:"pattern" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3499,7 +7765,7 @@ type GetFoundationModelInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetFoundationModelInput) String() string { +func (s GuardrailRegexConfig) String() string { return awsutil.Prettify(s) } @@ -3508,18 +7774,30 @@ func (s GetFoundationModelInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetFoundationModelInput) GoString() string { +func (s GuardrailRegexConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetFoundationModelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetFoundationModelInput"} - if s.ModelIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ModelIdentifier")) +func (s *GuardrailRegexConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailRegexConfig"} + if s.Action == nil { + invalidParams.Add(request.NewErrParamRequired("Action")) } - if s.ModelIdentifier != nil && len(*s.ModelIdentifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ModelIdentifier", 1)) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Pattern == nil { + invalidParams.Add(request.NewErrParamRequired("Pattern")) + } + if s.Pattern != nil && len(*s.Pattern) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Pattern", 1)) } if invalidParams.Len() > 0 { @@ -3528,17 +7806,40 @@ func (s *GetFoundationModelInput) Validate() error { return nil } -// SetModelIdentifier sets the ModelIdentifier field's value. -func (s *GetFoundationModelInput) SetModelIdentifier(v string) *GetFoundationModelInput { - s.ModelIdentifier = &v +// SetAction sets the Action field's value. +func (s *GuardrailRegexConfig) SetAction(v string) *GuardrailRegexConfig { + s.Action = &v return s } -type GetFoundationModelOutput struct { +// SetDescription sets the Description field's value. +func (s *GuardrailRegexConfig) SetDescription(v string) *GuardrailRegexConfig { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *GuardrailRegexConfig) SetName(v string) *GuardrailRegexConfig { + s.Name = &v + return s +} + +// SetPattern sets the Pattern field's value. +func (s *GuardrailRegexConfig) SetPattern(v string) *GuardrailRegexConfig { + s.Pattern = &v + return s +} + +// Contains details about PII entities and regular expressions configured for +// the guardrail. +type GuardrailSensitiveInformationPolicy struct { _ struct{} `type:"structure"` - // Information about the foundation model. - ModelDetails *FoundationModelDetails `locationName:"modelDetails" type:"structure"` + // The list of PII entities configured for the guardrail. + PiiEntities []*GuardrailPiiEntity `locationName:"piiEntities" min:"1" type:"list"` + + // The list of regular expressions configured for the guardrail. + Regexes []*GuardrailRegex `locationName:"regexes" type:"list"` } // String returns the string representation. @@ -3546,7 +7847,7 @@ type GetFoundationModelOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetFoundationModelOutput) String() string { +func (s GuardrailSensitiveInformationPolicy) String() string { return awsutil.Prettify(s) } @@ -3555,23 +7856,32 @@ func (s GetFoundationModelOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetFoundationModelOutput) GoString() string { +func (s GuardrailSensitiveInformationPolicy) GoString() string { return s.String() } -// SetModelDetails sets the ModelDetails field's value. -func (s *GetFoundationModelOutput) SetModelDetails(v *FoundationModelDetails) *GetFoundationModelOutput { - s.ModelDetails = v +// SetPiiEntities sets the PiiEntities field's value. +func (s *GuardrailSensitiveInformationPolicy) SetPiiEntities(v []*GuardrailPiiEntity) *GuardrailSensitiveInformationPolicy { + s.PiiEntities = v return s } -type GetModelCustomizationJobInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetRegexes sets the Regexes field's value. +func (s *GuardrailSensitiveInformationPolicy) SetRegexes(v []*GuardrailRegex) *GuardrailSensitiveInformationPolicy { + s.Regexes = v + return s +} - // Identifier for the customization job. - // - // JobIdentifier is a required field - JobIdentifier *string `location:"uri" locationName:"jobIdentifier" type:"string" required:"true"` +// Contains details about PII entities and regular expressions to configure +// for the guardrail. +type GuardrailSensitiveInformationPolicyConfig struct { + _ struct{} `type:"structure"` + + // A list of PII entities to configure to the guardrail. + PiiEntitiesConfig []*GuardrailPiiEntityConfig `locationName:"piiEntitiesConfig" min:"1" type:"list"` + + // A list of regular expressions to configure to the guardrail. + RegexesConfig []*GuardrailRegexConfig `locationName:"regexesConfig" min:"1" type:"list"` } // String returns the string representation. @@ -3579,7 +7889,7 @@ type GetModelCustomizationJobInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelCustomizationJobInput) String() string { +func (s GuardrailSensitiveInformationPolicyConfig) String() string { return awsutil.Prettify(s) } @@ -3588,18 +7898,38 @@ func (s GetModelCustomizationJobInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelCustomizationJobInput) GoString() string { +func (s GuardrailSensitiveInformationPolicyConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetModelCustomizationJobInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetModelCustomizationJobInput"} - if s.JobIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("JobIdentifier")) +func (s *GuardrailSensitiveInformationPolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailSensitiveInformationPolicyConfig"} + if s.PiiEntitiesConfig != nil && len(s.PiiEntitiesConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PiiEntitiesConfig", 1)) } - if s.JobIdentifier != nil && len(*s.JobIdentifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JobIdentifier", 1)) + if s.RegexesConfig != nil && len(s.RegexesConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RegexesConfig", 1)) + } + if s.PiiEntitiesConfig != nil { + for i, v := range s.PiiEntitiesConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PiiEntitiesConfig", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RegexesConfig != nil { + for i, v := range s.RegexesConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RegexesConfig", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3608,100 +7938,251 @@ func (s *GetModelCustomizationJobInput) Validate() error { return nil } -// SetJobIdentifier sets the JobIdentifier field's value. -func (s *GetModelCustomizationJobInput) SetJobIdentifier(v string) *GetModelCustomizationJobInput { - s.JobIdentifier = &v +// SetPiiEntitiesConfig sets the PiiEntitiesConfig field's value. +func (s *GuardrailSensitiveInformationPolicyConfig) SetPiiEntitiesConfig(v []*GuardrailPiiEntityConfig) *GuardrailSensitiveInformationPolicyConfig { + s.PiiEntitiesConfig = v return s } -type GetModelCustomizationJobOutput struct { +// SetRegexesConfig sets the RegexesConfig field's value. +func (s *GuardrailSensitiveInformationPolicyConfig) SetRegexesConfig(v []*GuardrailRegexConfig) *GuardrailSensitiveInformationPolicyConfig { + s.RegexesConfig = v + return s +} + +// Contains details about a guardrail. +// +// This data type is used in the following API operations: +// +// - ListGuardrails response body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListGuardrails.html#API_ListGuardrails_ResponseSyntax) +type GuardrailSummary struct { _ struct{} `type:"structure"` - // ARN of the base model. + // The ARN of the guardrail. // - // BaseModelArn is a required field - BaseModelArn *string `locationName:"baseModelArn" type:"string" required:"true"` - - // The token that you specified in the CreateCustomizationJob request. - ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // Time that the resource was created. + // The date and time at which the guardrail was created. // - // CreationTime is a required field - CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + // CreatedAt is a required field + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The type of model customization. - CustomizationType *string `locationName:"customizationType" type:"string" enum:"CustomizationType"` + // A description of the guardrail. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GuardrailSummary's + // String and GoString methods. + Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` - // Time that the resource transitioned to terminal state. - EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` + // The unique identifier of the guardrail. + // + // Id is a required field + Id *string `locationName:"id" type:"string" required:"true"` - // Information about why the job failed. - FailureMessage *string `locationName:"failureMessage" type:"string"` + // The name of the guardrail. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GuardrailSummary's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` - // The hyperparameter values for the job. For information about hyperparameters - // for specific models, see Guidelines for model customization (https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-guidelines.html). + // The status of the guardrail. // - // HyperParameters is a required field - HyperParameters map[string]*string `locationName:"hyperParameters" type:"map" required:"true"` + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"GuardrailStatus"` - // The ARN of the customization job. + // The date and time at which the guardrail was last updated. // - // JobArn is a required field - JobArn *string `locationName:"jobArn" type:"string" required:"true"` + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The name of the customization job. + // The version of the guardrail. // - // JobName is a required field - JobName *string `locationName:"jobName" min:"1" type:"string" required:"true"` + // Version is a required field + Version *string `locationName:"version" type:"string" required:"true"` +} - // Time that the resource was last modified. - LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"iso8601"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailSummary) String() string { + return awsutil.Prettify(s) +} - // Output data configuration - // - // OutputDataConfig is a required field - OutputDataConfig *OutputDataConfig `locationName:"outputDataConfig" type:"structure" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailSummary) GoString() string { + return s.String() +} - // The ARN of the output model. - OutputModelArn *string `locationName:"outputModelArn" min:"20" type:"string"` +// SetArn sets the Arn field's value. +func (s *GuardrailSummary) SetArn(v string) *GuardrailSummary { + s.Arn = &v + return s +} - // The custom model is encrypted at rest using this key. - OutputModelKmsKeyArn *string `locationName:"outputModelKmsKeyArn" min:"1" type:"string"` +// SetCreatedAt sets the CreatedAt field's value. +func (s *GuardrailSummary) SetCreatedAt(v time.Time) *GuardrailSummary { + s.CreatedAt = &v + return s +} - // The name of the output model. - // - // OutputModelName is a required field - OutputModelName *string `locationName:"outputModelName" min:"1" type:"string" required:"true"` +// SetDescription sets the Description field's value. +func (s *GuardrailSummary) SetDescription(v string) *GuardrailSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GuardrailSummary) SetId(v string) *GuardrailSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GuardrailSummary) SetName(v string) *GuardrailSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GuardrailSummary) SetStatus(v string) *GuardrailSummary { + s.Status = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *GuardrailSummary) SetUpdatedAt(v time.Time) *GuardrailSummary { + s.UpdatedAt = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *GuardrailSummary) SetVersion(v string) *GuardrailSummary { + s.Version = &v + return s +} + +// Details about topics for the guardrail to identify and deny. +// +// This data type is used in the following API operations: +// +// - GetGuardrail response body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetGuardrail.html#API_GetGuardrail_ResponseSyntax) +type GuardrailTopic struct { + _ struct{} `type:"structure"` - // The ARN of the IAM role. + // A definition of the topic to deny. // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" type:"string" required:"true"` + // Definition is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GuardrailTopic's + // String and GoString methods. + // + // Definition is a required field + Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` - // The status of the job. A successful job transitions from in-progress to completed - // when the output model is ready to use. If the job failed, the failure message - // contains information about why the job failed. - Status *string `locationName:"status" type:"string" enum:"ModelCustomizationJobStatus"` + // A list of prompts, each of which is an example of a prompt that can be categorized + // as belonging to the topic. + Examples []*string `locationName:"examples" type:"list"` - // S3 Location of the training data. + // The name of the topic to deny. // - // TrainingDataConfig is a required field - TrainingDataConfig *TrainingDataConfig `locationName:"trainingDataConfig" type:"structure" required:"true"` + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GuardrailTopic's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` - // Metrics associated with the custom job. - TrainingMetrics *TrainingMetrics `locationName:"trainingMetrics" type:"structure"` + // Specifies to deny the topic. + Type *string `locationName:"type" type:"string" enum:"GuardrailTopicType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailTopic) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailTopic) GoString() string { + return s.String() +} + +// SetDefinition sets the Definition field's value. +func (s *GuardrailTopic) SetDefinition(v string) *GuardrailTopic { + s.Definition = &v + return s +} - // Array of up to 10 validators. +// SetExamples sets the Examples field's value. +func (s *GuardrailTopic) SetExamples(v []*string) *GuardrailTopic { + s.Examples = v + return s +} + +// SetName sets the Name field's value. +func (s *GuardrailTopic) SetName(v string) *GuardrailTopic { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *GuardrailTopic) SetType(v string) *GuardrailTopic { + s.Type = &v + return s +} + +// Details about topics for the guardrail to identify and deny. +// +// This data type is used in the following API operations: +// +// - CreateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateGuardrail.html#API_CreateGuardrail_RequestSyntax) +// +// - UpdateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_UpdateGuardrail.html#API_UpdateGuardrail_RequestSyntax) +type GuardrailTopicConfig struct { + _ struct{} `type:"structure"` + + // A definition of the topic to deny. // - // ValidationDataConfig is a required field - ValidationDataConfig *ValidationDataConfig `locationName:"validationDataConfig" type:"structure" required:"true"` + // Definition is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GuardrailTopicConfig's + // String and GoString methods. + // + // Definition is a required field + Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` - // The loss metric for each validator that you provided in the createjob request. - ValidationMetrics []*ValidatorMetric `locationName:"validationMetrics" type:"list"` + // A list of prompts, each of which is an example of a prompt that can be categorized + // as belonging to the topic. + Examples []*string `locationName:"examples" type:"list"` - // VPC configuration for the custom model job. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // The name of the topic to deny. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GuardrailTopicConfig's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` + + // Specifies to deny the topic. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"GuardrailTopicType"` } // String returns the string representation. @@ -3709,7 +8190,7 @@ type GetModelCustomizationJobOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelCustomizationJobOutput) String() string { +func (s GuardrailTopicConfig) String() string { return awsutil.Prettify(s) } @@ -3718,138 +8199,205 @@ func (s GetModelCustomizationJobOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelCustomizationJobOutput) GoString() string { +func (s GuardrailTopicConfig) GoString() string { return s.String() } -// SetBaseModelArn sets the BaseModelArn field's value. -func (s *GetModelCustomizationJobOutput) SetBaseModelArn(v string) *GetModelCustomizationJobOutput { - s.BaseModelArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GuardrailTopicConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailTopicConfig"} + if s.Definition == nil { + invalidParams.Add(request.NewErrParamRequired("Definition")) + } + if s.Definition != nil && len(*s.Definition) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Definition", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *GetModelCustomizationJobOutput) SetClientRequestToken(v string) *GetModelCustomizationJobOutput { - s.ClientRequestToken = &v +// SetDefinition sets the Definition field's value. +func (s *GuardrailTopicConfig) SetDefinition(v string) *GuardrailTopicConfig { + s.Definition = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *GetModelCustomizationJobOutput) SetCreationTime(v time.Time) *GetModelCustomizationJobOutput { - s.CreationTime = &v +// SetExamples sets the Examples field's value. +func (s *GuardrailTopicConfig) SetExamples(v []*string) *GuardrailTopicConfig { + s.Examples = v return s } -// SetCustomizationType sets the CustomizationType field's value. -func (s *GetModelCustomizationJobOutput) SetCustomizationType(v string) *GetModelCustomizationJobOutput { - s.CustomizationType = &v +// SetName sets the Name field's value. +func (s *GuardrailTopicConfig) SetName(v string) *GuardrailTopicConfig { + s.Name = &v return s } -// SetEndTime sets the EndTime field's value. -func (s *GetModelCustomizationJobOutput) SetEndTime(v time.Time) *GetModelCustomizationJobOutput { - s.EndTime = &v +// SetType sets the Type field's value. +func (s *GuardrailTopicConfig) SetType(v string) *GuardrailTopicConfig { + s.Type = &v return s } -// SetFailureMessage sets the FailureMessage field's value. -func (s *GetModelCustomizationJobOutput) SetFailureMessage(v string) *GetModelCustomizationJobOutput { - s.FailureMessage = &v - return s -} +// Contains details about topics that the guardrail should identify and deny. +// +// This data type is used in the following API operations: +// +// - GetGuardrail response body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetGuardrail.html#API_GetGuardrail_ResponseSyntax) +type GuardrailTopicPolicy struct { + _ struct{} `type:"structure"` -// SetHyperParameters sets the HyperParameters field's value. -func (s *GetModelCustomizationJobOutput) SetHyperParameters(v map[string]*string) *GetModelCustomizationJobOutput { - s.HyperParameters = v - return s + // A list of policies related to topics that the guardrail should deny. + // + // Topics is a required field + Topics []*GuardrailTopic `locationName:"topics" min:"1" type:"list" required:"true"` } -// SetJobArn sets the JobArn field's value. -func (s *GetModelCustomizationJobOutput) SetJobArn(v string) *GetModelCustomizationJobOutput { - s.JobArn = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailTopicPolicy) String() string { + return awsutil.Prettify(s) } -// SetJobName sets the JobName field's value. -func (s *GetModelCustomizationJobOutput) SetJobName(v string) *GetModelCustomizationJobOutput { - s.JobName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailTopicPolicy) GoString() string { + return s.String() } -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *GetModelCustomizationJobOutput) SetLastModifiedTime(v time.Time) *GetModelCustomizationJobOutput { - s.LastModifiedTime = &v +// SetTopics sets the Topics field's value. +func (s *GuardrailTopicPolicy) SetTopics(v []*GuardrailTopic) *GuardrailTopicPolicy { + s.Topics = v return s } -// SetOutputDataConfig sets the OutputDataConfig field's value. -func (s *GetModelCustomizationJobOutput) SetOutputDataConfig(v *OutputDataConfig) *GetModelCustomizationJobOutput { - s.OutputDataConfig = v - return s -} +// Contains details about topics that the guardrail should identify and deny. +// +// This data type is used in the following API operations: +// +// - CreateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateGuardrail.html#API_CreateGuardrail_RequestSyntax) +// +// - UpdateGuardrail request body (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_UpdateGuardrail.html#API_UpdateGuardrail_RequestSyntax) +type GuardrailTopicPolicyConfig struct { + _ struct{} `type:"structure"` -// SetOutputModelArn sets the OutputModelArn field's value. -func (s *GetModelCustomizationJobOutput) SetOutputModelArn(v string) *GetModelCustomizationJobOutput { - s.OutputModelArn = &v - return s + // A list of policies related to topics that the guardrail should deny. + // + // TopicsConfig is a required field + TopicsConfig []*GuardrailTopicConfig `locationName:"topicsConfig" min:"1" type:"list" required:"true"` } -// SetOutputModelKmsKeyArn sets the OutputModelKmsKeyArn field's value. -func (s *GetModelCustomizationJobOutput) SetOutputModelKmsKeyArn(v string) *GetModelCustomizationJobOutput { - s.OutputModelKmsKeyArn = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailTopicPolicyConfig) String() string { + return awsutil.Prettify(s) } -// SetOutputModelName sets the OutputModelName field's value. -func (s *GetModelCustomizationJobOutput) SetOutputModelName(v string) *GetModelCustomizationJobOutput { - s.OutputModelName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailTopicPolicyConfig) GoString() string { + return s.String() } -// SetRoleArn sets the RoleArn field's value. -func (s *GetModelCustomizationJobOutput) SetRoleArn(v string) *GetModelCustomizationJobOutput { - s.RoleArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GuardrailTopicPolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailTopicPolicyConfig"} + if s.TopicsConfig == nil { + invalidParams.Add(request.NewErrParamRequired("TopicsConfig")) + } + if s.TopicsConfig != nil && len(s.TopicsConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TopicsConfig", 1)) + } + if s.TopicsConfig != nil { + for i, v := range s.TopicsConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TopicsConfig", i), err.(request.ErrInvalidParams)) + } + } + } -// SetStatus sets the Status field's value. -func (s *GetModelCustomizationJobOutput) SetStatus(v string) *GetModelCustomizationJobOutput { - s.Status = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTrainingDataConfig sets the TrainingDataConfig field's value. -func (s *GetModelCustomizationJobOutput) SetTrainingDataConfig(v *TrainingDataConfig) *GetModelCustomizationJobOutput { - s.TrainingDataConfig = v +// SetTopicsConfig sets the TopicsConfig field's value. +func (s *GuardrailTopicPolicyConfig) SetTopicsConfig(v []*GuardrailTopicConfig) *GuardrailTopicPolicyConfig { + s.TopicsConfig = v return s } -// SetTrainingMetrics sets the TrainingMetrics field's value. -func (s *GetModelCustomizationJobOutput) SetTrainingMetrics(v *TrainingMetrics) *GetModelCustomizationJobOutput { - s.TrainingMetrics = v - return s +// A word configured for the guardrail. +type GuardrailWord struct { + _ struct{} `type:"structure"` + + // Text of the word configured for the guardrail to block. + // + // Text is a required field + Text *string `locationName:"text" min:"1" type:"string" required:"true"` } -// SetValidationDataConfig sets the ValidationDataConfig field's value. -func (s *GetModelCustomizationJobOutput) SetValidationDataConfig(v *ValidationDataConfig) *GetModelCustomizationJobOutput { - s.ValidationDataConfig = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailWord) String() string { + return awsutil.Prettify(s) } -// SetValidationMetrics sets the ValidationMetrics field's value. -func (s *GetModelCustomizationJobOutput) SetValidationMetrics(v []*ValidatorMetric) *GetModelCustomizationJobOutput { - s.ValidationMetrics = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GuardrailWord) GoString() string { + return s.String() } -// SetVpcConfig sets the VpcConfig field's value. -func (s *GetModelCustomizationJobOutput) SetVpcConfig(v *VpcConfig) *GetModelCustomizationJobOutput { - s.VpcConfig = v +// SetText sets the Text field's value. +func (s *GuardrailWord) SetText(v string) *GuardrailWord { + s.Text = &v return s } -type GetModelInvocationLoggingConfigurationInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// A word to configure for the guardrail. +type GuardrailWordConfig struct { + _ struct{} `type:"structure"` + + // Text of the word configured for the guardrail to block. + // + // Text is a required field + Text *string `locationName:"text" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3857,7 +8405,7 @@ type GetModelInvocationLoggingConfigurationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelInvocationLoggingConfigurationInput) String() string { +func (s GuardrailWordConfig) String() string { return awsutil.Prettify(s) } @@ -3866,15 +8414,41 @@ func (s GetModelInvocationLoggingConfigurationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelInvocationLoggingConfigurationInput) GoString() string { +func (s GuardrailWordConfig) GoString() string { return s.String() } -type GetModelInvocationLoggingConfigurationOutput struct { +// Validate inspects the fields of the type to determine if they are valid. +func (s *GuardrailWordConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailWordConfig"} + if s.Text == nil { + invalidParams.Add(request.NewErrParamRequired("Text")) + } + if s.Text != nil && len(*s.Text) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Text", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetText sets the Text field's value. +func (s *GuardrailWordConfig) SetText(v string) *GuardrailWordConfig { + s.Text = &v + return s +} + +// Contains details about the word policy configured for the guardrail. +type GuardrailWordPolicy struct { _ struct{} `type:"structure"` - // The current configuration values. - LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"` + // A list of managed words configured for the guardrail. + ManagedWordLists []*GuardrailManagedWords `locationName:"managedWordLists" type:"list"` + + // A list of words configured for the guardrail. + Words []*GuardrailWord `locationName:"words" min:"1" type:"list"` } // String returns the string representation. @@ -3882,7 +8456,7 @@ type GetModelInvocationLoggingConfigurationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelInvocationLoggingConfigurationOutput) String() string { +func (s GuardrailWordPolicy) String() string { return awsutil.Prettify(s) } @@ -3891,23 +8465,31 @@ func (s GetModelInvocationLoggingConfigurationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetModelInvocationLoggingConfigurationOutput) GoString() string { +func (s GuardrailWordPolicy) GoString() string { return s.String() } -// SetLoggingConfig sets the LoggingConfig field's value. -func (s *GetModelInvocationLoggingConfigurationOutput) SetLoggingConfig(v *LoggingConfig) *GetModelInvocationLoggingConfigurationOutput { - s.LoggingConfig = v +// SetManagedWordLists sets the ManagedWordLists field's value. +func (s *GuardrailWordPolicy) SetManagedWordLists(v []*GuardrailManagedWords) *GuardrailWordPolicy { + s.ManagedWordLists = v return s } -type GetProvisionedModelThroughputInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetWords sets the Words field's value. +func (s *GuardrailWordPolicy) SetWords(v []*GuardrailWord) *GuardrailWordPolicy { + s.Words = v + return s +} - // The ARN or name of the provisioned throughput. - // - // ProvisionedModelId is a required field - ProvisionedModelId *string `location:"uri" locationName:"provisionedModelId" type:"string" required:"true"` +// Contains details about the word policy to configured for the guardrail. +type GuardrailWordPolicyConfig struct { + _ struct{} `type:"structure"` + + // A list of managed words to configure for the guardrail. + ManagedWordListsConfig []*GuardrailManagedWordsConfig `locationName:"managedWordListsConfig" type:"list"` + + // A list of words to configure for the guardrail. + WordsConfig []*GuardrailWordConfig `locationName:"wordsConfig" min:"1" type:"list"` } // String returns the string representation. @@ -3915,7 +8497,7 @@ type GetProvisionedModelThroughputInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProvisionedModelThroughputInput) String() string { +func (s GuardrailWordPolicyConfig) String() string { return awsutil.Prettify(s) } @@ -3924,18 +8506,35 @@ func (s GetProvisionedModelThroughputInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProvisionedModelThroughputInput) GoString() string { +func (s GuardrailWordPolicyConfig) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetProvisionedModelThroughputInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetProvisionedModelThroughputInput"} - if s.ProvisionedModelId == nil { - invalidParams.Add(request.NewErrParamRequired("ProvisionedModelId")) +func (s *GuardrailWordPolicyConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GuardrailWordPolicyConfig"} + if s.WordsConfig != nil && len(s.WordsConfig) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WordsConfig", 1)) } - if s.ProvisionedModelId != nil && len(*s.ProvisionedModelId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProvisionedModelId", 1)) + if s.ManagedWordListsConfig != nil { + for i, v := range s.ManagedWordListsConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManagedWordListsConfig", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WordsConfig != nil { + for i, v := range s.WordsConfig { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WordsConfig", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3944,75 +8543,157 @@ func (s *GetProvisionedModelThroughputInput) Validate() error { return nil } -// SetProvisionedModelId sets the ProvisionedModelId field's value. -func (s *GetProvisionedModelThroughputInput) SetProvisionedModelId(v string) *GetProvisionedModelThroughputInput { - s.ProvisionedModelId = &v +// SetManagedWordListsConfig sets the ManagedWordListsConfig field's value. +func (s *GuardrailWordPolicyConfig) SetManagedWordListsConfig(v []*GuardrailManagedWordsConfig) *GuardrailWordPolicyConfig { + s.ManagedWordListsConfig = v return s } -type GetProvisionedModelThroughputOutput struct { - _ struct{} `type:"structure"` +// SetWordsConfig sets the WordsConfig field's value. +func (s *GuardrailWordPolicyConfig) SetWordsConfig(v []*GuardrailWordConfig) *GuardrailWordPolicyConfig { + s.WordsConfig = v + return s +} - // Commitment duration of the provisioned throughput. - CommitmentDuration *string `locationName:"commitmentDuration" type:"string" enum:"CommitmentDuration"` +// Specifies the custom metrics, how tasks will be rated, the flow definition +// ARN, and your custom prompt datasets. Model evaluation jobs use human workers +// only support the use of custom prompt datasets. To learn more about custom +// prompt datasets and the required format, see Custom prompt datasets (https://docs.aws.amazon.com/bedrock/latest/userguide/model-evaluation-prompt-datasets-custom.html). +// +// When you create custom metrics in HumanEvaluationCustomMetric you must specify +// the metric's name. The list of names specified in the HumanEvaluationCustomMetric +// array, must match the metricNames array of strings specified in EvaluationDatasetMetricConfig. +// For example, if in the HumanEvaluationCustomMetric array your specified the +// names "accuracy", "toxicity", "readability" as custom metrics then the metricNames +// array would need to look like the following ["accuracy", "toxicity", "readability"] +// in EvaluationDatasetMetricConfig. +type HumanEvaluationConfig struct { + _ struct{} `type:"structure"` - // Commitment expiration time for the provisioned throughput. - CommitmentExpirationTime *time.Time `locationName:"commitmentExpirationTime" type:"timestamp" timestampFormat:"iso8601"` + // A HumanEvaluationCustomMetric object. It contains the names the metrics, + // how the metrics are to be evaluated, an optional description. + CustomMetrics []*HumanEvaluationCustomMetric `locationName:"customMetrics" min:"1" type:"list"` - // The timestamp of the creation time for this provisioned throughput. + // Use to specify the metrics, task, and prompt dataset to be used in your model + // evaluation job. // - // CreationTime is a required field - CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + // DatasetMetricConfigs is a required field + DatasetMetricConfigs []*EvaluationDatasetMetricConfig `locationName:"datasetMetricConfigs" min:"1" type:"list" required:"true"` - // The ARN of the new model to asssociate with this provisioned throughput. - // - // DesiredModelArn is a required field - DesiredModelArn *string `locationName:"desiredModelArn" min:"20" type:"string" required:"true"` + // The parameters of the human workflow. + HumanWorkflowConfig *HumanWorkflowConfig `locationName:"humanWorkflowConfig" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HumanEvaluationConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HumanEvaluationConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *HumanEvaluationConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HumanEvaluationConfig"} + if s.CustomMetrics != nil && len(s.CustomMetrics) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomMetrics", 1)) + } + if s.DatasetMetricConfigs == nil { + invalidParams.Add(request.NewErrParamRequired("DatasetMetricConfigs")) + } + if s.DatasetMetricConfigs != nil && len(s.DatasetMetricConfigs) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatasetMetricConfigs", 1)) + } + if s.CustomMetrics != nil { + for i, v := range s.CustomMetrics { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomMetrics", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DatasetMetricConfigs != nil { + for i, v := range s.DatasetMetricConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DatasetMetricConfigs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.HumanWorkflowConfig != nil { + if err := s.HumanWorkflowConfig.Validate(); err != nil { + invalidParams.AddNested("HumanWorkflowConfig", err.(request.ErrInvalidParams)) + } + } - // The desired number of model units that was requested to be available for - // this provisioned throughput. - // - // DesiredModelUnits is a required field - DesiredModelUnits *int64 `locationName:"desiredModelUnits" min:"1" type:"integer" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Failure message for any issues that the create operation encounters. - FailureMessage *string `locationName:"failureMessage" type:"string"` +// SetCustomMetrics sets the CustomMetrics field's value. +func (s *HumanEvaluationConfig) SetCustomMetrics(v []*HumanEvaluationCustomMetric) *HumanEvaluationConfig { + s.CustomMetrics = v + return s +} - // ARN of the foundation model. - // - // FoundationModelArn is a required field - FoundationModelArn *string `locationName:"foundationModelArn" type:"string" required:"true"` +// SetDatasetMetricConfigs sets the DatasetMetricConfigs field's value. +func (s *HumanEvaluationConfig) SetDatasetMetricConfigs(v []*EvaluationDatasetMetricConfig) *HumanEvaluationConfig { + s.DatasetMetricConfigs = v + return s +} - // The timestamp of the last modified time of this provisioned throughput. - // - // LastModifiedTime is a required field - LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +// SetHumanWorkflowConfig sets the HumanWorkflowConfig field's value. +func (s *HumanEvaluationConfig) SetHumanWorkflowConfig(v *HumanWorkflowConfig) *HumanEvaluationConfig { + s.HumanWorkflowConfig = v + return s +} - // The ARN or name of the model associated with this provisioned throughput. - // - // ModelArn is a required field - ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` +// In a model evaluation job that uses human workers you must define the name +// of the metric, and how you want that metric rated ratingMethod, and an optional +// description of the metric. +type HumanEvaluationCustomMetric struct { + _ struct{} `type:"structure"` - // The current number of model units requested to be available for this provisioned - // throughput. + // An optional description of the metric. Use this parameter to provide more + // details about the metric. // - // ModelUnits is a required field - ModelUnits *int64 `locationName:"modelUnits" min:"1" type:"integer" required:"true"` + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by HumanEvaluationCustomMetric's + // String and GoString methods. + Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` - // The ARN of the provisioned throughput. + // The name of the metric. Your human evaluators will see this name in the evaluation + // UI. // - // ProvisionedModelArn is a required field - ProvisionedModelArn *string `locationName:"provisionedModelArn" type:"string" required:"true"` - - // The name of the provisioned throughput. + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by HumanEvaluationCustomMetric's + // String and GoString methods. // - // ProvisionedModelName is a required field - ProvisionedModelName *string `locationName:"provisionedModelName" min:"1" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` - // Status of the provisioned throughput. + // Choose how you want your human workers to evaluation your model. Valid values + // for rating methods are ThumbsUpDown, IndividualLikertScale,ComparisonLikertScale, + // ComparisonChoice, and ComparisonRank // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"ProvisionedModelStatus"` + // RatingMethod is a required field + RatingMethod *string `locationName:"ratingMethod" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -4020,7 +8701,7 @@ type GetProvisionedModelThroughputOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProvisionedModelThroughputOutput) String() string { +func (s HumanEvaluationCustomMetric) String() string { return awsutil.Prettify(s) } @@ -4029,85 +8710,114 @@ func (s GetProvisionedModelThroughputOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProvisionedModelThroughputOutput) GoString() string { +func (s HumanEvaluationCustomMetric) GoString() string { return s.String() } -// SetCommitmentDuration sets the CommitmentDuration field's value. -func (s *GetProvisionedModelThroughputOutput) SetCommitmentDuration(v string) *GetProvisionedModelThroughputOutput { - s.CommitmentDuration = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *HumanEvaluationCustomMetric) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HumanEvaluationCustomMetric"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RatingMethod == nil { + invalidParams.Add(request.NewErrParamRequired("RatingMethod")) + } + if s.RatingMethod != nil && len(*s.RatingMethod) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RatingMethod", 1)) + } -// SetCommitmentExpirationTime sets the CommitmentExpirationTime field's value. -func (s *GetProvisionedModelThroughputOutput) SetCommitmentExpirationTime(v time.Time) *GetProvisionedModelThroughputOutput { - s.CommitmentExpirationTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreationTime sets the CreationTime field's value. -func (s *GetProvisionedModelThroughputOutput) SetCreationTime(v time.Time) *GetProvisionedModelThroughputOutput { - s.CreationTime = &v +// SetDescription sets the Description field's value. +func (s *HumanEvaluationCustomMetric) SetDescription(v string) *HumanEvaluationCustomMetric { + s.Description = &v return s } -// SetDesiredModelArn sets the DesiredModelArn field's value. -func (s *GetProvisionedModelThroughputOutput) SetDesiredModelArn(v string) *GetProvisionedModelThroughputOutput { - s.DesiredModelArn = &v +// SetName sets the Name field's value. +func (s *HumanEvaluationCustomMetric) SetName(v string) *HumanEvaluationCustomMetric { + s.Name = &v return s } -// SetDesiredModelUnits sets the DesiredModelUnits field's value. -func (s *GetProvisionedModelThroughputOutput) SetDesiredModelUnits(v int64) *GetProvisionedModelThroughputOutput { - s.DesiredModelUnits = &v +// SetRatingMethod sets the RatingMethod field's value. +func (s *HumanEvaluationCustomMetric) SetRatingMethod(v string) *HumanEvaluationCustomMetric { + s.RatingMethod = &v return s } -// SetFailureMessage sets the FailureMessage field's value. -func (s *GetProvisionedModelThroughputOutput) SetFailureMessage(v string) *GetProvisionedModelThroughputOutput { - s.FailureMessage = &v - return s -} +// Contains SageMakerFlowDefinition object. The object is used to specify the +// prompt dataset, task type, rating method and metric names. +type HumanWorkflowConfig struct { + _ struct{} `type:"structure"` -// SetFoundationModelArn sets the FoundationModelArn field's value. -func (s *GetProvisionedModelThroughputOutput) SetFoundationModelArn(v string) *GetProvisionedModelThroughputOutput { - s.FoundationModelArn = &v - return s -} + // The Amazon Resource Number (ARN) for the flow definition + // + // FlowDefinitionArn is a required field + FlowDefinitionArn *string `locationName:"flowDefinitionArn" type:"string" required:"true"` -// SetLastModifiedTime sets the LastModifiedTime field's value. -func (s *GetProvisionedModelThroughputOutput) SetLastModifiedTime(v time.Time) *GetProvisionedModelThroughputOutput { - s.LastModifiedTime = &v - return s + // Instructions for the flow definition + // + // Instructions is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by HumanWorkflowConfig's + // String and GoString methods. + Instructions *string `locationName:"instructions" min:"1" type:"string" sensitive:"true"` } -// SetModelArn sets the ModelArn field's value. -func (s *GetProvisionedModelThroughputOutput) SetModelArn(v string) *GetProvisionedModelThroughputOutput { - s.ModelArn = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HumanWorkflowConfig) String() string { + return awsutil.Prettify(s) } -// SetModelUnits sets the ModelUnits field's value. -func (s *GetProvisionedModelThroughputOutput) SetModelUnits(v int64) *GetProvisionedModelThroughputOutput { - s.ModelUnits = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HumanWorkflowConfig) GoString() string { + return s.String() } -// SetProvisionedModelArn sets the ProvisionedModelArn field's value. -func (s *GetProvisionedModelThroughputOutput) SetProvisionedModelArn(v string) *GetProvisionedModelThroughputOutput { - s.ProvisionedModelArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *HumanWorkflowConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "HumanWorkflowConfig"} + if s.FlowDefinitionArn == nil { + invalidParams.Add(request.NewErrParamRequired("FlowDefinitionArn")) + } + if s.Instructions != nil && len(*s.Instructions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Instructions", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetProvisionedModelName sets the ProvisionedModelName field's value. -func (s *GetProvisionedModelThroughputOutput) SetProvisionedModelName(v string) *GetProvisionedModelThroughputOutput { - s.ProvisionedModelName = &v +// SetFlowDefinitionArn sets the FlowDefinitionArn field's value. +func (s *HumanWorkflowConfig) SetFlowDefinitionArn(v string) *HumanWorkflowConfig { + s.FlowDefinitionArn = &v return s } -// SetStatus sets the Status field's value. -func (s *GetProvisionedModelThroughputOutput) SetStatus(v string) *GetProvisionedModelThroughputOutput { - s.Status = &v +// SetInstructions sets the Instructions field's value. +func (s *HumanWorkflowConfig) SetInstructions(v string) *HumanWorkflowConfig { + s.Instructions = &v return s } @@ -4178,7 +8888,8 @@ func (s *InternalServerException) RequestID() string { type ListCustomModelsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // Return custom models only if the base model ARN matches this parameter. + // Return custom models only if the base model Amazon Resource Name (ARN) matches + // this parameter. BaseModelArnEquals *string `location:"querystring" locationName:"baseModelArnEquals" min:"20" type:"string"` // Return custom models created after the specified time. @@ -4187,7 +8898,8 @@ type ListCustomModelsInput struct { // Return custom models created before the specified time. CreationTimeBefore *time.Time `location:"querystring" locationName:"creationTimeBefore" type:"timestamp" timestampFormat:"iso8601"` - // Return custom models only if the foundation model ARN matches this parameter. + // Return custom models only if the foundation model Amazon Resource Name (ARN) + // matches this parameter. FoundationModelArnEquals *string `location:"querystring" locationName:"foundationModelArnEquals" type:"string"` // Maximum number of results to return in the response. @@ -4284,30 +8996,185 @@ func (s *ListCustomModelsInput) SetNameContains(v string) *ListCustomModelsInput } // SetNextToken sets the NextToken field's value. -func (s *ListCustomModelsInput) SetNextToken(v string) *ListCustomModelsInput { +func (s *ListCustomModelsInput) SetNextToken(v string) *ListCustomModelsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListCustomModelsInput) SetSortBy(v string) *ListCustomModelsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCustomModelsInput) SetSortOrder(v string) *ListCustomModelsInput { + s.SortOrder = &v + return s +} + +type ListCustomModelsOutput struct { + _ struct{} `type:"structure"` + + // Model summaries. + ModelSummaries []*CustomModelSummary `locationName:"modelSummaries" type:"list"` + + // Continuation token for the next request to list the next set of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCustomModelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListCustomModelsOutput) GoString() string { + return s.String() +} + +// SetModelSummaries sets the ModelSummaries field's value. +func (s *ListCustomModelsOutput) SetModelSummaries(v []*CustomModelSummary) *ListCustomModelsOutput { + s.ModelSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomModelsOutput) SetNextToken(v string) *ListCustomModelsOutput { + s.NextToken = &v + return s +} + +type ListEvaluationJobsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A filter that includes model evaluation jobs created after the time specified. + CreationTimeAfter *time.Time `location:"querystring" locationName:"creationTimeAfter" type:"timestamp" timestampFormat:"iso8601"` + + // A filter that includes model evaluation jobs created prior to the time specified. + CreationTimeBefore *time.Time `location:"querystring" locationName:"creationTimeBefore" type:"timestamp" timestampFormat:"iso8601"` + + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // Query parameter string for model evaluation job names. + NameContains *string `location:"querystring" locationName:"nameContains" min:"1" type:"string"` + + // Continuation token from the previous response, for Amazon Bedrock to list + // the next set of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // Allows you to sort model evaluation jobs by when they were created. + SortBy *string `location:"querystring" locationName:"sortBy" type:"string" enum:"SortJobsBy"` + + // How you want the order of jobs sorted. + SortOrder *string `location:"querystring" locationName:"sortOrder" type:"string" enum:"SortOrder"` + + // Only return jobs where the status condition is met. + StatusEquals *string `location:"querystring" locationName:"statusEquals" type:"string" enum:"EvaluationJobStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEvaluationJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEvaluationJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEvaluationJobsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NameContains != nil && len(*s.NameContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameContains", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListEvaluationJobsInput) SetCreationTimeAfter(v time.Time) *ListEvaluationJobsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListEvaluationJobsInput) SetCreationTimeBefore(v time.Time) *ListEvaluationJobsInput { + s.CreationTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEvaluationJobsInput) SetMaxResults(v int64) *ListEvaluationJobsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListEvaluationJobsInput) SetNameContains(v string) *ListEvaluationJobsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEvaluationJobsInput) SetNextToken(v string) *ListEvaluationJobsInput { s.NextToken = &v return s } // SetSortBy sets the SortBy field's value. -func (s *ListCustomModelsInput) SetSortBy(v string) *ListCustomModelsInput { +func (s *ListEvaluationJobsInput) SetSortBy(v string) *ListEvaluationJobsInput { s.SortBy = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *ListCustomModelsInput) SetSortOrder(v string) *ListCustomModelsInput { +func (s *ListEvaluationJobsInput) SetSortOrder(v string) *ListEvaluationJobsInput { s.SortOrder = &v return s } -type ListCustomModelsOutput struct { +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListEvaluationJobsInput) SetStatusEquals(v string) *ListEvaluationJobsInput { + s.StatusEquals = &v + return s +} + +type ListEvaluationJobsOutput struct { _ struct{} `type:"structure"` - // Model summaries. - ModelSummaries []*CustomModelSummary `locationName:"modelSummaries" type:"list"` + // A summary of the model evaluation jobs. + JobSummaries []*EvaluationSummary `locationName:"jobSummaries" min:"1" type:"list"` - // Continuation token for the next request to list the next set of results. + // Continuation token from the previous response, for Amazon Bedrock to list + // the next set of results. NextToken *string `locationName:"nextToken" min:"1" type:"string"` } @@ -4316,7 +9183,7 @@ type ListCustomModelsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCustomModelsOutput) String() string { +func (s ListEvaluationJobsOutput) String() string { return awsutil.Prettify(s) } @@ -4325,18 +9192,18 @@ func (s ListCustomModelsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCustomModelsOutput) GoString() string { +func (s ListEvaluationJobsOutput) GoString() string { return s.String() } -// SetModelSummaries sets the ModelSummaries field's value. -func (s *ListCustomModelsOutput) SetModelSummaries(v []*CustomModelSummary) *ListCustomModelsOutput { - s.ModelSummaries = v +// SetJobSummaries sets the JobSummaries field's value. +func (s *ListEvaluationJobsOutput) SetJobSummaries(v []*EvaluationSummary) *ListEvaluationJobsOutput { + s.JobSummaries = v return s } // SetNextToken sets the NextToken field's value. -func (s *ListCustomModelsOutput) SetNextToken(v string) *ListCustomModelsOutput { +func (s *ListEvaluationJobsOutput) SetNextToken(v string) *ListEvaluationJobsOutput { s.NextToken = &v return s } @@ -4344,16 +9211,20 @@ func (s *ListCustomModelsOutput) SetNextToken(v string) *ListCustomModelsOutput type ListFoundationModelsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // List by customization type. + // Return models that support the customization type that you specify. For more + // information, see Custom models (https://docs.aws.amazon.com/bedrock/latest/userguide/custom-models.html) + // in the Amazon Bedrock User Guide. ByCustomizationType *string `location:"querystring" locationName:"byCustomizationType" type:"string" enum:"ModelCustomization"` - // List by inference type. + // Return models that support the inference type that you specify. For more + // information, see Provisioned Throughput (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) + // in the Amazon Bedrock User Guide. ByInferenceType *string `location:"querystring" locationName:"byInferenceType" type:"string" enum:"InferenceType"` - // List by output modality type. + // Return models that support the output modality that you specify. ByOutputModality *string `location:"querystring" locationName:"byOutputModality" type:"string" enum:"ModelModality"` - // A Amazon Bedrock model provider. + // Return models belonging to the model provider that you specify. ByProvider *string `location:"querystring" locationName:"byProvider" type:"string"` } @@ -4430,6 +9301,117 @@ func (s *ListFoundationModelsOutput) SetModelSummaries(v []*FoundationModelSumma return s } +type ListGuardrailsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique identifier of the guardrail. + GuardrailIdentifier *string `location:"querystring" locationName:"guardrailIdentifier" type:"string"` + + // The maximum number of results to return in the response. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // If there are more results than were returned in the response, the response + // returns a nextToken that you can send in another ListGuardrails request to + // see the next batch of results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListGuardrailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListGuardrailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGuardrailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGuardrailsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *ListGuardrailsInput) SetGuardrailIdentifier(v string) *ListGuardrailsInput { + s.GuardrailIdentifier = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGuardrailsInput) SetMaxResults(v int64) *ListGuardrailsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGuardrailsInput) SetNextToken(v string) *ListGuardrailsInput { + s.NextToken = &v + return s +} + +type ListGuardrailsOutput struct { + _ struct{} `type:"structure"` + + // A list of objects, each of which contains details about a guardrail. + // + // Guardrails is a required field + Guardrails []*GuardrailSummary `locationName:"guardrails" type:"list" required:"true"` + + // If there are more results than were returned in the response, the response + // returns a nextToken that you can send in another ListGuardrails request to + // see the next batch of results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListGuardrailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListGuardrailsOutput) GoString() string { + return s.String() +} + +// SetGuardrails sets the Guardrails field's value. +func (s *ListGuardrailsOutput) SetGuardrails(v []*GuardrailSummary) *ListGuardrailsOutput { + s.Guardrails = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGuardrailsOutput) SetNextToken(v string) *ListGuardrailsOutput { + s.NextToken = &v + return s +} + type ListModelCustomizationJobsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -4587,33 +9569,41 @@ func (s *ListModelCustomizationJobsOutput) SetNextToken(v string) *ListModelCust type ListProvisionedModelThroughputsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // Return provisioned capacities created after the specified time. + // A filter that returns Provisioned Throughputs created after the specified + // time. CreationTimeAfter *time.Time `location:"querystring" locationName:"creationTimeAfter" type:"timestamp" timestampFormat:"iso8601"` - // Return provisioned capacities created before the specified time. + // A filter that returns Provisioned Throughputs created before the specified + // time. CreationTimeBefore *time.Time `location:"querystring" locationName:"creationTimeBefore" type:"timestamp" timestampFormat:"iso8601"` - // THe maximum number of results to return in the response. + // THe maximum number of results to return in the response. If there are more + // results than the number you specified, the response returns a nextToken value. + // To see the next batch of results, send the nextToken value in another list + // request. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // Return the list of provisioned capacities where their model ARN is equal - // to this parameter. + // A filter that returns Provisioned Throughputs whose model Amazon Resource + // Name (ARN) is equal to the value that you specify. ModelArnEquals *string `location:"querystring" locationName:"modelArnEquals" min:"20" type:"string"` - // Return the list of provisioned capacities if their name contains these characters. + // A filter that returns Provisioned Throughputs if their name contains the + // expression that you specify. NameContains *string `location:"querystring" locationName:"nameContains" min:"1" type:"string"` - // Continuation token from the previous response, for Amazon Bedrock to list - // the next set of results. + // If there are more results than the number you specified in the maxResults + // field, the response returns a nextToken value. To see the next batch of results, + // specify the nextToken value in this field. NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` - // The field to sort by in the returned list of provisioned capacities. + // The field by which to sort the returned list of Provisioned Throughputs. SortBy *string `location:"querystring" locationName:"sortBy" type:"string" enum:"SortByProvisionedModels"` // The sort order of the results. SortOrder *string `location:"querystring" locationName:"sortOrder" type:"string" enum:"SortOrder"` - // Return the list of provisioned capacities that match the specified status. + // A filter that returns Provisioned Throughputs if their statuses matches the + // value that you specify. StatusEquals *string `location:"querystring" locationName:"statusEquals" type:"string" enum:"ProvisionedModelStatus"` } @@ -4714,10 +9704,12 @@ func (s *ListProvisionedModelThroughputsInput) SetStatusEquals(v string) *ListPr type ListProvisionedModelThroughputsOutput struct { _ struct{} `type:"structure"` - // Continuation token for the next request to list the next set of results. + // If there are more results than the number you specified in the maxResults + // field, this value is returned. To see the next batch of results, include + // this value in the nextToken field in another list request. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // List of summaries, one for each provisioned throughput in the response. + // A list of summaries, one for each Provisioned Throughput in the response. ProvisionedModelSummaries []*ProvisionedModelSummary `locationName:"provisionedModelSummaries" type:"list"` } @@ -4754,7 +9746,7 @@ func (s *ListProvisionedModelThroughputsOutput) SetProvisionedModelSummaries(v [ type ListTagsForResourceInput struct { _ struct{} `type:"structure"` - // The ARN of the resource. + // The Amazon Resource Name (ARN) of the resource. // // ResourceARN is a required field ResourceARN *string `locationName:"resourceARN" min:"20" type:"string" required:"true"` @@ -4831,7 +9823,7 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput return s } -// Configuration fields for invokation logging. +// Configuration fields for invocation logging. type LoggingConfig struct { _ struct{} `type:"structure"` @@ -4923,7 +9915,7 @@ func (s *LoggingConfig) SetTextDataDeliveryEnabled(v bool) *LoggingConfig { type ModelCustomizationJobSummary struct { _ struct{} `type:"structure"` - // ARN of the base model. + // Amazon Resource Name (ARN) of the base model. // // BaseModelArn is a required field BaseModelArn *string `locationName:"baseModelArn" min:"20" type:"string" required:"true"` @@ -4933,7 +9925,7 @@ type ModelCustomizationJobSummary struct { // CreationTime is a required field CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // ARN of the custom model. + // Amazon Resource Name (ARN) of the custom model. CustomModelArn *string `locationName:"customModelArn" min:"20" type:"string"` // Name of the custom model. @@ -4946,7 +9938,7 @@ type ModelCustomizationJobSummary struct { // Time that the customization job ended. EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` - // ARN of the customization job. + // Amazon Resource Name (ARN) of the customization job. // // JobArn is a required field JobArn *string `locationName:"jobArn" type:"string" required:"true"` @@ -5093,62 +10085,73 @@ func (s *OutputDataConfig) SetS3Uri(v string) *OutputDataConfig { return s } -// Set of fields associated with a provisioned throughput. +// A summary of information about a Provisioned Throughput. +// +// This data type is used in the following API operations: +// +// - ListProvisionedThroughputs response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListProvisionedModelThroughputs.html#API_ListProvisionedModelThroughputs_ResponseSyntax) type ProvisionedModelSummary struct { _ struct{} `type:"structure"` - // Commitment duration for the provisioned throughput. + // The duration for which the Provisioned Throughput was committed. CommitmentDuration *string `locationName:"commitmentDuration" type:"string" enum:"CommitmentDuration"` - // Commitment expiration time for the provisioned throughput. + // The timestamp for when the commitment term of the Provisioned Throughput + // expires. CommitmentExpirationTime *time.Time `locationName:"commitmentExpirationTime" type:"timestamp" timestampFormat:"iso8601"` - // The time that this provisioned throughput was created. + // The time that the Provisioned Throughput was created. // // CreationTime is a required field CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // Desired model ARN. + // The Amazon Resource Name (ARN) of the model requested to be associated to + // this Provisioned Throughput. This value differs from the modelArn if updating + // hasn't completed. // // DesiredModelArn is a required field DesiredModelArn *string `locationName:"desiredModelArn" min:"20" type:"string" required:"true"` - // Desired model units. + // The number of model units that was requested to be allocated to the Provisioned + // Throughput. // // DesiredModelUnits is a required field DesiredModelUnits *int64 `locationName:"desiredModelUnits" min:"1" type:"integer" required:"true"` - // Foundation model ARN. + // The Amazon Resource Name (ARN) of the base model for which the Provisioned + // Throughput was created, or of the base model that the custom model for which + // the Provisioned Throughput was created was customized. // // FoundationModelArn is a required field FoundationModelArn *string `locationName:"foundationModelArn" type:"string" required:"true"` - // The time that this provisioned throughput was last modified. + // The time that the Provisioned Throughput was last modified. // // LastModifiedTime is a required field LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The ARN of the model associated with this provisioned throughput. + // The Amazon Resource Name (ARN) of the model associated with the Provisioned + // Throughput. // // ModelArn is a required field ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` - // The number of model units allocated. + // The number of model units allocated to the Provisioned Throughput. // // ModelUnits is a required field ModelUnits *int64 `locationName:"modelUnits" min:"1" type:"integer" required:"true"` - // The ARN of the provisioned throughput. + // The Amazon Resource Name (ARN) of the Provisioned Throughput. // // ProvisionedModelArn is a required field ProvisionedModelArn *string `locationName:"provisionedModelArn" type:"string" required:"true"` - // The name of the provisioned throughput. + // The name of the Provisioned Throughput. // // ProvisionedModelName is a required field ProvisionedModelName *string `locationName:"provisionedModelName" min:"1" type:"string" required:"true"` - // Status of the provisioned throughput. + // The status of the Provisioned Throughput. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"ProvisionedModelStatus"` @@ -5317,8 +10320,8 @@ func (s PutModelInvocationLoggingConfigurationOutput) GoString() string { return s.String() } -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5505,6 +10508,81 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } +type StopEvaluationJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the model evaluation job you want to stop. + // + // JobIdentifier is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by StopEvaluationJobInput's + // String and GoString methods. + // + // JobIdentifier is a required field + JobIdentifier *string `location:"uri" locationName:"jobIdentifier" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopEvaluationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopEvaluationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopEvaluationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopEvaluationJobInput"} + if s.JobIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("JobIdentifier")) + } + if s.JobIdentifier != nil && len(*s.JobIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobIdentifier sets the JobIdentifier field's value. +func (s *StopEvaluationJobInput) SetJobIdentifier(v string) *StopEvaluationJobInput { + s.JobIdentifier = &v + return s +} + +type StopEvaluationJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopEvaluationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopEvaluationJobOutput) GoString() string { + return s.String() +} + type StopModelCustomizationJobInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5643,7 +10721,7 @@ func (s *Tag) SetValue(v string) *Tag { type TagResourceInput struct { _ struct{} `type:"structure"` - // The ARN of the resource to tag. + // The Amazon Resource Name (ARN) of the resource to tag. // // ResourceARN is a required field ResourceARN *string `locationName:"resourceARN" min:"20" type:"string" required:"true"` @@ -5902,8 +10980,97 @@ func (s *TrainingDataConfig) Validate() error { if s.S3Uri == nil { invalidParams.Add(request.NewErrParamRequired("S3Uri")) } - if s.S3Uri != nil && len(*s.S3Uri) < 1 { - invalidParams.Add(request.NewErrParamMinLen("S3Uri", 1)) + if s.S3Uri != nil && len(*s.S3Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Uri sets the S3Uri field's value. +func (s *TrainingDataConfig) SetS3Uri(v string) *TrainingDataConfig { + s.S3Uri = &v + return s +} + +// Metrics associated with the custom job. +type TrainingMetrics struct { + _ struct{} `type:"structure"` + + // Loss metric associated with the custom job. + TrainingLoss *float64 `locationName:"trainingLoss" type:"float"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrainingMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrainingMetrics) GoString() string { + return s.String() +} + +// SetTrainingLoss sets the TrainingLoss field's value. +func (s *TrainingMetrics) SetTrainingLoss(v float64) *TrainingMetrics { + s.TrainingLoss = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to untag. + // + // ResourceARN is a required field + ResourceARN *string `locationName:"resourceARN" min:"20" type:"string" required:"true"` + + // Tag keys of the tags to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { @@ -5912,18 +11079,20 @@ func (s *TrainingDataConfig) Validate() error { return nil } -// SetS3Uri sets the S3Uri field's value. -func (s *TrainingDataConfig) SetS3Uri(v string) *TrainingDataConfig { - s.S3Uri = &v +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v return s } -// Metrics associated with the custom job. -type TrainingMetrics struct { - _ struct{} `type:"structure"` +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} - // Loss metric associated with the custom job. - TrainingLoss *float64 `locationName:"trainingLoss" type:"float"` +type UntagResourceOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -5931,7 +11100,7 @@ type TrainingMetrics struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrainingMetrics) String() string { +func (s UntagResourceOutput) String() string { return awsutil.Prettify(s) } @@ -5940,28 +11109,66 @@ func (s TrainingMetrics) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s TrainingMetrics) GoString() string { +func (s UntagResourceOutput) GoString() string { return s.String() } -// SetTrainingLoss sets the TrainingLoss field's value. -func (s *TrainingMetrics) SetTrainingLoss(v float64) *TrainingMetrics { - s.TrainingLoss = &v - return s -} - -type UntagResourceInput struct { +type UpdateGuardrailInput struct { _ struct{} `type:"structure"` - // The ARN of the resource to untag. + // The message to return when the guardrail blocks a prompt. // - // ResourceARN is a required field - ResourceARN *string `locationName:"resourceARN" min:"20" type:"string" required:"true"` + // BlockedInputMessaging is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateGuardrailInput's + // String and GoString methods. + // + // BlockedInputMessaging is a required field + BlockedInputMessaging *string `locationName:"blockedInputMessaging" min:"1" type:"string" required:"true" sensitive:"true"` - // Tag keys of the tags to remove from the resource. + // The message to return when the guardrail blocks a model response. // - // TagKeys is a required field - TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` + // BlockedOutputsMessaging is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateGuardrailInput's + // String and GoString methods. + // + // BlockedOutputsMessaging is a required field + BlockedOutputsMessaging *string `locationName:"blockedOutputsMessaging" min:"1" type:"string" required:"true" sensitive:"true"` + + // The content policy to configure for the guardrail. + ContentPolicyConfig *GuardrailContentPolicyConfig `locationName:"contentPolicyConfig" type:"structure"` + + // A description of the guardrail. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateGuardrailInput's + // String and GoString methods. + Description *string `locationName:"description" min:"1" type:"string" sensitive:"true"` + + // The unique identifier of the guardrail + // + // GuardrailIdentifier is a required field + GuardrailIdentifier *string `location:"uri" locationName:"guardrailIdentifier" type:"string" required:"true"` + + // The ARN of the KMS key with which to encrypt the guardrail. + KmsKeyId *string `locationName:"kmsKeyId" min:"1" type:"string"` + + // A name for the guardrail. + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateGuardrailInput's + // String and GoString methods. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true" sensitive:"true"` + + // The sensitive information policy to configure for the guardrail. + SensitiveInformationPolicyConfig *GuardrailSensitiveInformationPolicyConfig `locationName:"sensitiveInformationPolicyConfig" type:"structure"` + + // The topic policy to configure for the guardrail. + TopicPolicyConfig *GuardrailTopicPolicyConfig `locationName:"topicPolicyConfig" type:"structure"` + + // The word policy to configure for the guardrail. + WordPolicyConfig *GuardrailWordPolicyConfig `locationName:"wordPolicyConfig" type:"structure"` } // String returns the string representation. @@ -5969,7 +11176,7 @@ type UntagResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceInput) String() string { +func (s UpdateGuardrailInput) String() string { return awsutil.Prettify(s) } @@ -5978,21 +11185,62 @@ func (s UntagResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceInput) GoString() string { +func (s UpdateGuardrailInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UntagResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} - if s.ResourceARN == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceARN")) +func (s *UpdateGuardrailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGuardrailInput"} + if s.BlockedInputMessaging == nil { + invalidParams.Add(request.NewErrParamRequired("BlockedInputMessaging")) } - if s.ResourceARN != nil && len(*s.ResourceARN) < 20 { - invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 20)) + if s.BlockedInputMessaging != nil && len(*s.BlockedInputMessaging) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlockedInputMessaging", 1)) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.BlockedOutputsMessaging == nil { + invalidParams.Add(request.NewErrParamRequired("BlockedOutputsMessaging")) + } + if s.BlockedOutputsMessaging != nil && len(*s.BlockedOutputsMessaging) < 1 { + invalidParams.Add(request.NewErrParamMinLen("BlockedOutputsMessaging", 1)) + } + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.GuardrailIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("GuardrailIdentifier")) + } + if s.GuardrailIdentifier != nil && len(*s.GuardrailIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GuardrailIdentifier", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ContentPolicyConfig != nil { + if err := s.ContentPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("ContentPolicyConfig", err.(request.ErrInvalidParams)) + } + } + if s.SensitiveInformationPolicyConfig != nil { + if err := s.SensitiveInformationPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("SensitiveInformationPolicyConfig", err.(request.ErrInvalidParams)) + } + } + if s.TopicPolicyConfig != nil { + if err := s.TopicPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("TopicPolicyConfig", err.(request.ErrInvalidParams)) + } + } + if s.WordPolicyConfig != nil { + if err := s.WordPolicyConfig.Validate(); err != nil { + invalidParams.AddNested("WordPolicyConfig", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -6001,20 +11249,88 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceARN sets the ResourceARN field's value. -func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { - s.ResourceARN = &v +// SetBlockedInputMessaging sets the BlockedInputMessaging field's value. +func (s *UpdateGuardrailInput) SetBlockedInputMessaging(v string) *UpdateGuardrailInput { + s.BlockedInputMessaging = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetBlockedOutputsMessaging sets the BlockedOutputsMessaging field's value. +func (s *UpdateGuardrailInput) SetBlockedOutputsMessaging(v string) *UpdateGuardrailInput { + s.BlockedOutputsMessaging = &v return s } -type UntagResourceOutput struct { +// SetContentPolicyConfig sets the ContentPolicyConfig field's value. +func (s *UpdateGuardrailInput) SetContentPolicyConfig(v *GuardrailContentPolicyConfig) *UpdateGuardrailInput { + s.ContentPolicyConfig = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateGuardrailInput) SetDescription(v string) *UpdateGuardrailInput { + s.Description = &v + return s +} + +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *UpdateGuardrailInput) SetGuardrailIdentifier(v string) *UpdateGuardrailInput { + s.GuardrailIdentifier = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *UpdateGuardrailInput) SetKmsKeyId(v string) *UpdateGuardrailInput { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateGuardrailInput) SetName(v string) *UpdateGuardrailInput { + s.Name = &v + return s +} + +// SetSensitiveInformationPolicyConfig sets the SensitiveInformationPolicyConfig field's value. +func (s *UpdateGuardrailInput) SetSensitiveInformationPolicyConfig(v *GuardrailSensitiveInformationPolicyConfig) *UpdateGuardrailInput { + s.SensitiveInformationPolicyConfig = v + return s +} + +// SetTopicPolicyConfig sets the TopicPolicyConfig field's value. +func (s *UpdateGuardrailInput) SetTopicPolicyConfig(v *GuardrailTopicPolicyConfig) *UpdateGuardrailInput { + s.TopicPolicyConfig = v + return s +} + +// SetWordPolicyConfig sets the WordPolicyConfig field's value. +func (s *UpdateGuardrailInput) SetWordPolicyConfig(v *GuardrailWordPolicyConfig) *UpdateGuardrailInput { + s.WordPolicyConfig = v + return s +} + +type UpdateGuardrailOutput struct { _ struct{} `type:"structure"` + + // The ARN of the guardrail that was created. + // + // GuardrailArn is a required field + GuardrailArn *string `locationName:"guardrailArn" type:"string" required:"true"` + + // The unique identifier of the guardrail + // + // GuardrailId is a required field + GuardrailId *string `locationName:"guardrailId" type:"string" required:"true"` + + // The date and time at which the guardrail was updated. + // + // UpdatedAt is a required field + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The version of the guardrail. + // + // Version is a required field + Version *string `locationName:"version" min:"5" type:"string" required:"true"` } // String returns the string representation. @@ -6022,7 +11338,7 @@ type UntagResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceOutput) String() string { +func (s UpdateGuardrailOutput) String() string { return awsutil.Prettify(s) } @@ -6031,20 +11347,54 @@ func (s UntagResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s UntagResourceOutput) GoString() string { +func (s UpdateGuardrailOutput) GoString() string { return s.String() } +// SetGuardrailArn sets the GuardrailArn field's value. +func (s *UpdateGuardrailOutput) SetGuardrailArn(v string) *UpdateGuardrailOutput { + s.GuardrailArn = &v + return s +} + +// SetGuardrailId sets the GuardrailId field's value. +func (s *UpdateGuardrailOutput) SetGuardrailId(v string) *UpdateGuardrailOutput { + s.GuardrailId = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *UpdateGuardrailOutput) SetUpdatedAt(v time.Time) *UpdateGuardrailOutput { + s.UpdatedAt = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *UpdateGuardrailOutput) SetVersion(v string) *UpdateGuardrailOutput { + s.Version = &v + return s +} + type UpdateProvisionedModelThroughputInput struct { _ struct{} `type:"structure"` - // The ARN of the new model to associate with this provisioned throughput. + // The Amazon Resource Name (ARN) of the new model to associate with this Provisioned + // Throughput. You can't specify this field if this Provisioned Throughput is + // associated with a base model. + // + // If this Provisioned Throughput is associated with a custom model, you can + // specify one of the following options: + // + // * The base model from which the custom model was customized. + // + // * Another custom model that was customized from the same base model as + // the custom model. DesiredModelId *string `locationName:"desiredModelId" min:"1" type:"string"` - // The new name for this provisioned throughput. + // The new name for this Provisioned Throughput. DesiredProvisionedModelName *string `locationName:"desiredProvisionedModelName" min:"1" type:"string"` - // The ARN or name of the provisioned throughput to update. + // The Amazon Resource Name (ARN) or name of the Provisioned Throughput to update. // // ProvisionedModelId is a required field ProvisionedModelId *string `location:"uri" locationName:"provisionedModelId" type:"string" required:"true"` @@ -6432,6 +11782,78 @@ func CustomizationType_Values() []string { } } +const ( + // EvaluationJobStatusInProgress is a EvaluationJobStatus enum value + EvaluationJobStatusInProgress = "InProgress" + + // EvaluationJobStatusCompleted is a EvaluationJobStatus enum value + EvaluationJobStatusCompleted = "Completed" + + // EvaluationJobStatusFailed is a EvaluationJobStatus enum value + EvaluationJobStatusFailed = "Failed" + + // EvaluationJobStatusStopping is a EvaluationJobStatus enum value + EvaluationJobStatusStopping = "Stopping" + + // EvaluationJobStatusStopped is a EvaluationJobStatus enum value + EvaluationJobStatusStopped = "Stopped" +) + +// EvaluationJobStatus_Values returns all elements of the EvaluationJobStatus enum +func EvaluationJobStatus_Values() []string { + return []string{ + EvaluationJobStatusInProgress, + EvaluationJobStatusCompleted, + EvaluationJobStatusFailed, + EvaluationJobStatusStopping, + EvaluationJobStatusStopped, + } +} + +const ( + // EvaluationJobTypeHuman is a EvaluationJobType enum value + EvaluationJobTypeHuman = "Human" + + // EvaluationJobTypeAutomated is a EvaluationJobType enum value + EvaluationJobTypeAutomated = "Automated" +) + +// EvaluationJobType_Values returns all elements of the EvaluationJobType enum +func EvaluationJobType_Values() []string { + return []string{ + EvaluationJobTypeHuman, + EvaluationJobTypeAutomated, + } +} + +const ( + // EvaluationTaskTypeSummarization is a EvaluationTaskType enum value + EvaluationTaskTypeSummarization = "Summarization" + + // EvaluationTaskTypeClassification is a EvaluationTaskType enum value + EvaluationTaskTypeClassification = "Classification" + + // EvaluationTaskTypeQuestionAndAnswer is a EvaluationTaskType enum value + EvaluationTaskTypeQuestionAndAnswer = "QuestionAndAnswer" + + // EvaluationTaskTypeGeneration is a EvaluationTaskType enum value + EvaluationTaskTypeGeneration = "Generation" + + // EvaluationTaskTypeCustom is a EvaluationTaskType enum value + EvaluationTaskTypeCustom = "Custom" +) + +// EvaluationTaskType_Values returns all elements of the EvaluationTaskType enum +func EvaluationTaskType_Values() []string { + return []string{ + EvaluationTaskTypeSummarization, + EvaluationTaskTypeClassification, + EvaluationTaskTypeQuestionAndAnswer, + EvaluationTaskTypeGeneration, + EvaluationTaskTypeCustom, + } +} + const ( // FineTuningJobStatusInProgress is a FineTuningJobStatus enum value FineTuningJobStatusInProgress = "InProgress" @@ -6476,6 +11898,266 @@ func FoundationModelLifecycleStatus_Values() []string { } } +const ( + // GuardrailContentFilterTypeSexual is a GuardrailContentFilterType enum value + GuardrailContentFilterTypeSexual = "SEXUAL" + + // GuardrailContentFilterTypeViolence is a GuardrailContentFilterType enum value + GuardrailContentFilterTypeViolence = "VIOLENCE" + + // GuardrailContentFilterTypeHate is a GuardrailContentFilterType enum value + GuardrailContentFilterTypeHate = "HATE" + + // GuardrailContentFilterTypeInsults is a GuardrailContentFilterType enum value + GuardrailContentFilterTypeInsults = "INSULTS" + + // GuardrailContentFilterTypeMisconduct is a GuardrailContentFilterType enum value + GuardrailContentFilterTypeMisconduct = "MISCONDUCT" + + // GuardrailContentFilterTypePromptAttack is a GuardrailContentFilterType enum value + GuardrailContentFilterTypePromptAttack = "PROMPT_ATTACK" +) + +// GuardrailContentFilterType_Values returns all elements of the GuardrailContentFilterType enum +func GuardrailContentFilterType_Values() []string { + return []string{ + GuardrailContentFilterTypeSexual, + GuardrailContentFilterTypeViolence, + GuardrailContentFilterTypeHate, + GuardrailContentFilterTypeInsults, + GuardrailContentFilterTypeMisconduct, + GuardrailContentFilterTypePromptAttack, + } +} + +const ( + // GuardrailFilterStrengthNone is a GuardrailFilterStrength enum value + GuardrailFilterStrengthNone = "NONE" + + // GuardrailFilterStrengthLow is a GuardrailFilterStrength enum value + GuardrailFilterStrengthLow = "LOW" + + // GuardrailFilterStrengthMedium is a GuardrailFilterStrength enum value + GuardrailFilterStrengthMedium = "MEDIUM" + + // GuardrailFilterStrengthHigh is a GuardrailFilterStrength enum value + GuardrailFilterStrengthHigh = "HIGH" +) + +// GuardrailFilterStrength_Values returns all elements of the GuardrailFilterStrength enum +func GuardrailFilterStrength_Values() []string { + return []string{ + GuardrailFilterStrengthNone, + GuardrailFilterStrengthLow, + GuardrailFilterStrengthMedium, + GuardrailFilterStrengthHigh, + } +} + +const ( + // GuardrailManagedWordsTypeProfanity is a GuardrailManagedWordsType enum value + GuardrailManagedWordsTypeProfanity = "PROFANITY" +) + +// GuardrailManagedWordsType_Values returns all elements of the GuardrailManagedWordsType enum +func GuardrailManagedWordsType_Values() []string { + return []string{ + GuardrailManagedWordsTypeProfanity, + } +} + +const ( + // GuardrailPiiEntityTypeAddress is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeAddress = "ADDRESS" + + // GuardrailPiiEntityTypeAge is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeAge = "AGE" + + // GuardrailPiiEntityTypeAwsAccessKey is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeAwsAccessKey = "AWS_ACCESS_KEY" + + // GuardrailPiiEntityTypeAwsSecretKey is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeAwsSecretKey = "AWS_SECRET_KEY" + + // GuardrailPiiEntityTypeCaHealthNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeCaHealthNumber = "CA_HEALTH_NUMBER" + + // GuardrailPiiEntityTypeCaSocialInsuranceNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeCaSocialInsuranceNumber = "CA_SOCIAL_INSURANCE_NUMBER" + + // GuardrailPiiEntityTypeCreditDebitCardCvv is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeCreditDebitCardCvv = "CREDIT_DEBIT_CARD_CVV" + + // GuardrailPiiEntityTypeCreditDebitCardExpiry is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeCreditDebitCardExpiry = "CREDIT_DEBIT_CARD_EXPIRY" + + // GuardrailPiiEntityTypeCreditDebitCardNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeCreditDebitCardNumber = "CREDIT_DEBIT_CARD_NUMBER" + + // GuardrailPiiEntityTypeDriverId is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeDriverId = "DRIVER_ID" + + // GuardrailPiiEntityTypeEmail is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeEmail = "EMAIL" + + // GuardrailPiiEntityTypeInternationalBankAccountNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeInternationalBankAccountNumber = "INTERNATIONAL_BANK_ACCOUNT_NUMBER" + + // GuardrailPiiEntityTypeIpAddress is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeIpAddress = "IP_ADDRESS" + + // GuardrailPiiEntityTypeLicensePlate is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeLicensePlate = "LICENSE_PLATE" + + // GuardrailPiiEntityTypeMacAddress is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeMacAddress = "MAC_ADDRESS" + + // GuardrailPiiEntityTypeName is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeName = "NAME" + + // GuardrailPiiEntityTypePassword is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypePassword = "PASSWORD" + + // GuardrailPiiEntityTypePhone is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypePhone = "PHONE" + + // GuardrailPiiEntityTypePin is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypePin = "PIN" + + // GuardrailPiiEntityTypeSwiftCode is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeSwiftCode = "SWIFT_CODE" + + // GuardrailPiiEntityTypeUkNationalHealthServiceNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUkNationalHealthServiceNumber = "UK_NATIONAL_HEALTH_SERVICE_NUMBER" + + // GuardrailPiiEntityTypeUkNationalInsuranceNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUkNationalInsuranceNumber = "UK_NATIONAL_INSURANCE_NUMBER" + + // GuardrailPiiEntityTypeUkUniqueTaxpayerReferenceNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUkUniqueTaxpayerReferenceNumber = "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER" + + // GuardrailPiiEntityTypeUrl is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUrl = "URL" + + // GuardrailPiiEntityTypeUsername is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUsername = "USERNAME" + + // GuardrailPiiEntityTypeUsBankAccountNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUsBankAccountNumber = "US_BANK_ACCOUNT_NUMBER" + + // GuardrailPiiEntityTypeUsBankRoutingNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUsBankRoutingNumber = "US_BANK_ROUTING_NUMBER" + + // GuardrailPiiEntityTypeUsIndividualTaxIdentificationNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUsIndividualTaxIdentificationNumber = "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER" + + // GuardrailPiiEntityTypeUsPassportNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUsPassportNumber = "US_PASSPORT_NUMBER" + + // GuardrailPiiEntityTypeUsSocialSecurityNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeUsSocialSecurityNumber = "US_SOCIAL_SECURITY_NUMBER" + + // GuardrailPiiEntityTypeVehicleIdentificationNumber is a GuardrailPiiEntityType enum value + GuardrailPiiEntityTypeVehicleIdentificationNumber = "VEHICLE_IDENTIFICATION_NUMBER" +) + +// GuardrailPiiEntityType_Values returns all elements of the GuardrailPiiEntityType enum +func GuardrailPiiEntityType_Values() []string { + return []string{ + GuardrailPiiEntityTypeAddress, + GuardrailPiiEntityTypeAge, + GuardrailPiiEntityTypeAwsAccessKey, + GuardrailPiiEntityTypeAwsSecretKey, + GuardrailPiiEntityTypeCaHealthNumber, + GuardrailPiiEntityTypeCaSocialInsuranceNumber, + GuardrailPiiEntityTypeCreditDebitCardCvv, + GuardrailPiiEntityTypeCreditDebitCardExpiry, + GuardrailPiiEntityTypeCreditDebitCardNumber, + GuardrailPiiEntityTypeDriverId, + GuardrailPiiEntityTypeEmail, + GuardrailPiiEntityTypeInternationalBankAccountNumber, + GuardrailPiiEntityTypeIpAddress, + GuardrailPiiEntityTypeLicensePlate, + GuardrailPiiEntityTypeMacAddress, + GuardrailPiiEntityTypeName, + GuardrailPiiEntityTypePassword, + GuardrailPiiEntityTypePhone, + GuardrailPiiEntityTypePin, + GuardrailPiiEntityTypeSwiftCode, + GuardrailPiiEntityTypeUkNationalHealthServiceNumber, + GuardrailPiiEntityTypeUkNationalInsuranceNumber, + GuardrailPiiEntityTypeUkUniqueTaxpayerReferenceNumber, + GuardrailPiiEntityTypeUrl, + GuardrailPiiEntityTypeUsername, + GuardrailPiiEntityTypeUsBankAccountNumber, + GuardrailPiiEntityTypeUsBankRoutingNumber, + GuardrailPiiEntityTypeUsIndividualTaxIdentificationNumber, + GuardrailPiiEntityTypeUsPassportNumber, + GuardrailPiiEntityTypeUsSocialSecurityNumber, + GuardrailPiiEntityTypeVehicleIdentificationNumber, + } +} + +const ( + // GuardrailSensitiveInformationActionBlock is a GuardrailSensitiveInformationAction enum value + GuardrailSensitiveInformationActionBlock = "BLOCK" + + // GuardrailSensitiveInformationActionAnonymize is a GuardrailSensitiveInformationAction enum value + GuardrailSensitiveInformationActionAnonymize = "ANONYMIZE" +) + +// GuardrailSensitiveInformationAction_Values returns all elements of the GuardrailSensitiveInformationAction enum +func GuardrailSensitiveInformationAction_Values() []string { + return []string{ + GuardrailSensitiveInformationActionBlock, + GuardrailSensitiveInformationActionAnonymize, + } +} + +const ( + // GuardrailStatusCreating is a GuardrailStatus enum value + GuardrailStatusCreating = "CREATING" + + // GuardrailStatusUpdating is a GuardrailStatus enum value + GuardrailStatusUpdating = "UPDATING" + + // GuardrailStatusVersioning is a GuardrailStatus enum value + GuardrailStatusVersioning = "VERSIONING" + + // GuardrailStatusReady is a GuardrailStatus enum value + GuardrailStatusReady = "READY" + + // GuardrailStatusFailed is a GuardrailStatus enum value + GuardrailStatusFailed = "FAILED" + + // GuardrailStatusDeleting is a GuardrailStatus enum value + GuardrailStatusDeleting = "DELETING" +) + +// GuardrailStatus_Values returns all elements of the GuardrailStatus enum +func GuardrailStatus_Values() []string { + return []string{ + GuardrailStatusCreating, + GuardrailStatusUpdating, + GuardrailStatusVersioning, + GuardrailStatusReady, + GuardrailStatusFailed, + GuardrailStatusDeleting, + } +} + +const ( + // GuardrailTopicTypeDeny is a GuardrailTopicType enum value + GuardrailTopicTypeDeny = "DENY" +) + +// GuardrailTopicType_Values returns all elements of the GuardrailTopicType enum +func GuardrailTopicType_Values() []string { + return []string{ + GuardrailTopicTypeDeny, + } +} + const ( // InferenceTypeOnDemand is a InferenceType enum value InferenceTypeOnDemand = "ON_DEMAND" diff --git a/service/bedrock/bedrockiface/interface.go b/service/bedrock/bedrockiface/interface.go index 48e502a0848..8dc4649defa 100644 --- a/service/bedrock/bedrockiface/interface.go +++ b/service/bedrock/bedrockiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Bedrock. // func myFunc(svc bedrockiface.BedrockAPI) bool { -// // Make svc.CreateModelCustomizationJob request +// // Make svc.CreateEvaluationJob request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockBedrockClient struct { // bedrockiface.BedrockAPI // } -// func (m *mockBedrockClient) CreateModelCustomizationJob(input *bedrock.CreateModelCustomizationJobInput) (*bedrock.CreateModelCustomizationJobOutput, error) { +// func (m *mockBedrockClient) CreateEvaluationJob(input *bedrock.CreateEvaluationJobInput) (*bedrock.CreateEvaluationJobOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,18 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type BedrockAPI interface { + CreateEvaluationJob(*bedrock.CreateEvaluationJobInput) (*bedrock.CreateEvaluationJobOutput, error) + CreateEvaluationJobWithContext(aws.Context, *bedrock.CreateEvaluationJobInput, ...request.Option) (*bedrock.CreateEvaluationJobOutput, error) + CreateEvaluationJobRequest(*bedrock.CreateEvaluationJobInput) (*request.Request, *bedrock.CreateEvaluationJobOutput) + + CreateGuardrail(*bedrock.CreateGuardrailInput) (*bedrock.CreateGuardrailOutput, error) + CreateGuardrailWithContext(aws.Context, *bedrock.CreateGuardrailInput, ...request.Option) (*bedrock.CreateGuardrailOutput, error) + CreateGuardrailRequest(*bedrock.CreateGuardrailInput) (*request.Request, *bedrock.CreateGuardrailOutput) + + CreateGuardrailVersion(*bedrock.CreateGuardrailVersionInput) (*bedrock.CreateGuardrailVersionOutput, error) + CreateGuardrailVersionWithContext(aws.Context, *bedrock.CreateGuardrailVersionInput, ...request.Option) (*bedrock.CreateGuardrailVersionOutput, error) + CreateGuardrailVersionRequest(*bedrock.CreateGuardrailVersionInput) (*request.Request, *bedrock.CreateGuardrailVersionOutput) + CreateModelCustomizationJob(*bedrock.CreateModelCustomizationJobInput) (*bedrock.CreateModelCustomizationJobOutput, error) CreateModelCustomizationJobWithContext(aws.Context, *bedrock.CreateModelCustomizationJobInput, ...request.Option) (*bedrock.CreateModelCustomizationJobOutput, error) CreateModelCustomizationJobRequest(*bedrock.CreateModelCustomizationJobInput) (*request.Request, *bedrock.CreateModelCustomizationJobOutput) @@ -72,6 +84,10 @@ type BedrockAPI interface { DeleteCustomModelWithContext(aws.Context, *bedrock.DeleteCustomModelInput, ...request.Option) (*bedrock.DeleteCustomModelOutput, error) DeleteCustomModelRequest(*bedrock.DeleteCustomModelInput) (*request.Request, *bedrock.DeleteCustomModelOutput) + DeleteGuardrail(*bedrock.DeleteGuardrailInput) (*bedrock.DeleteGuardrailOutput, error) + DeleteGuardrailWithContext(aws.Context, *bedrock.DeleteGuardrailInput, ...request.Option) (*bedrock.DeleteGuardrailOutput, error) + DeleteGuardrailRequest(*bedrock.DeleteGuardrailInput) (*request.Request, *bedrock.DeleteGuardrailOutput) + DeleteModelInvocationLoggingConfiguration(*bedrock.DeleteModelInvocationLoggingConfigurationInput) (*bedrock.DeleteModelInvocationLoggingConfigurationOutput, error) DeleteModelInvocationLoggingConfigurationWithContext(aws.Context, *bedrock.DeleteModelInvocationLoggingConfigurationInput, ...request.Option) (*bedrock.DeleteModelInvocationLoggingConfigurationOutput, error) DeleteModelInvocationLoggingConfigurationRequest(*bedrock.DeleteModelInvocationLoggingConfigurationInput) (*request.Request, *bedrock.DeleteModelInvocationLoggingConfigurationOutput) @@ -84,10 +100,18 @@ type BedrockAPI interface { GetCustomModelWithContext(aws.Context, *bedrock.GetCustomModelInput, ...request.Option) (*bedrock.GetCustomModelOutput, error) GetCustomModelRequest(*bedrock.GetCustomModelInput) (*request.Request, *bedrock.GetCustomModelOutput) + GetEvaluationJob(*bedrock.GetEvaluationJobInput) (*bedrock.GetEvaluationJobOutput, error) + GetEvaluationJobWithContext(aws.Context, *bedrock.GetEvaluationJobInput, ...request.Option) (*bedrock.GetEvaluationJobOutput, error) + GetEvaluationJobRequest(*bedrock.GetEvaluationJobInput) (*request.Request, *bedrock.GetEvaluationJobOutput) + GetFoundationModel(*bedrock.GetFoundationModelInput) (*bedrock.GetFoundationModelOutput, error) GetFoundationModelWithContext(aws.Context, *bedrock.GetFoundationModelInput, ...request.Option) (*bedrock.GetFoundationModelOutput, error) GetFoundationModelRequest(*bedrock.GetFoundationModelInput) (*request.Request, *bedrock.GetFoundationModelOutput) + GetGuardrail(*bedrock.GetGuardrailInput) (*bedrock.GetGuardrailOutput, error) + GetGuardrailWithContext(aws.Context, *bedrock.GetGuardrailInput, ...request.Option) (*bedrock.GetGuardrailOutput, error) + GetGuardrailRequest(*bedrock.GetGuardrailInput) (*request.Request, *bedrock.GetGuardrailOutput) + GetModelCustomizationJob(*bedrock.GetModelCustomizationJobInput) (*bedrock.GetModelCustomizationJobOutput, error) GetModelCustomizationJobWithContext(aws.Context, *bedrock.GetModelCustomizationJobInput, ...request.Option) (*bedrock.GetModelCustomizationJobOutput, error) GetModelCustomizationJobRequest(*bedrock.GetModelCustomizationJobInput) (*request.Request, *bedrock.GetModelCustomizationJobOutput) @@ -107,10 +131,24 @@ type BedrockAPI interface { ListCustomModelsPages(*bedrock.ListCustomModelsInput, func(*bedrock.ListCustomModelsOutput, bool) bool) error ListCustomModelsPagesWithContext(aws.Context, *bedrock.ListCustomModelsInput, func(*bedrock.ListCustomModelsOutput, bool) bool, ...request.Option) error + ListEvaluationJobs(*bedrock.ListEvaluationJobsInput) (*bedrock.ListEvaluationJobsOutput, error) + ListEvaluationJobsWithContext(aws.Context, *bedrock.ListEvaluationJobsInput, ...request.Option) (*bedrock.ListEvaluationJobsOutput, error) + ListEvaluationJobsRequest(*bedrock.ListEvaluationJobsInput) (*request.Request, *bedrock.ListEvaluationJobsOutput) + + ListEvaluationJobsPages(*bedrock.ListEvaluationJobsInput, func(*bedrock.ListEvaluationJobsOutput, bool) bool) error + ListEvaluationJobsPagesWithContext(aws.Context, *bedrock.ListEvaluationJobsInput, func(*bedrock.ListEvaluationJobsOutput, bool) bool, ...request.Option) error + ListFoundationModels(*bedrock.ListFoundationModelsInput) (*bedrock.ListFoundationModelsOutput, error) ListFoundationModelsWithContext(aws.Context, *bedrock.ListFoundationModelsInput, ...request.Option) (*bedrock.ListFoundationModelsOutput, error) ListFoundationModelsRequest(*bedrock.ListFoundationModelsInput) (*request.Request, *bedrock.ListFoundationModelsOutput) + ListGuardrails(*bedrock.ListGuardrailsInput) (*bedrock.ListGuardrailsOutput, error) + ListGuardrailsWithContext(aws.Context, *bedrock.ListGuardrailsInput, ...request.Option) (*bedrock.ListGuardrailsOutput, error) + ListGuardrailsRequest(*bedrock.ListGuardrailsInput) (*request.Request, *bedrock.ListGuardrailsOutput) + + ListGuardrailsPages(*bedrock.ListGuardrailsInput, func(*bedrock.ListGuardrailsOutput, bool) bool) error + ListGuardrailsPagesWithContext(aws.Context, *bedrock.ListGuardrailsInput, func(*bedrock.ListGuardrailsOutput, bool) bool, ...request.Option) error + ListModelCustomizationJobs(*bedrock.ListModelCustomizationJobsInput) (*bedrock.ListModelCustomizationJobsOutput, error) ListModelCustomizationJobsWithContext(aws.Context, *bedrock.ListModelCustomizationJobsInput, ...request.Option) (*bedrock.ListModelCustomizationJobsOutput, error) ListModelCustomizationJobsRequest(*bedrock.ListModelCustomizationJobsInput) (*request.Request, *bedrock.ListModelCustomizationJobsOutput) @@ -133,6 +171,10 @@ type BedrockAPI interface { PutModelInvocationLoggingConfigurationWithContext(aws.Context, *bedrock.PutModelInvocationLoggingConfigurationInput, ...request.Option) (*bedrock.PutModelInvocationLoggingConfigurationOutput, error) PutModelInvocationLoggingConfigurationRequest(*bedrock.PutModelInvocationLoggingConfigurationInput) (*request.Request, *bedrock.PutModelInvocationLoggingConfigurationOutput) + StopEvaluationJob(*bedrock.StopEvaluationJobInput) (*bedrock.StopEvaluationJobOutput, error) + StopEvaluationJobWithContext(aws.Context, *bedrock.StopEvaluationJobInput, ...request.Option) (*bedrock.StopEvaluationJobOutput, error) + StopEvaluationJobRequest(*bedrock.StopEvaluationJobInput) (*request.Request, *bedrock.StopEvaluationJobOutput) + StopModelCustomizationJob(*bedrock.StopModelCustomizationJobInput) (*bedrock.StopModelCustomizationJobOutput, error) StopModelCustomizationJobWithContext(aws.Context, *bedrock.StopModelCustomizationJobInput, ...request.Option) (*bedrock.StopModelCustomizationJobOutput, error) StopModelCustomizationJobRequest(*bedrock.StopModelCustomizationJobInput) (*request.Request, *bedrock.StopModelCustomizationJobOutput) @@ -145,6 +187,10 @@ type BedrockAPI interface { UntagResourceWithContext(aws.Context, *bedrock.UntagResourceInput, ...request.Option) (*bedrock.UntagResourceOutput, error) UntagResourceRequest(*bedrock.UntagResourceInput) (*request.Request, *bedrock.UntagResourceOutput) + UpdateGuardrail(*bedrock.UpdateGuardrailInput) (*bedrock.UpdateGuardrailOutput, error) + UpdateGuardrailWithContext(aws.Context, *bedrock.UpdateGuardrailInput, ...request.Option) (*bedrock.UpdateGuardrailOutput, error) + UpdateGuardrailRequest(*bedrock.UpdateGuardrailInput) (*request.Request, *bedrock.UpdateGuardrailOutput) + UpdateProvisionedModelThroughput(*bedrock.UpdateProvisionedModelThroughputInput) (*bedrock.UpdateProvisionedModelThroughputOutput, error) UpdateProvisionedModelThroughputWithContext(aws.Context, *bedrock.UpdateProvisionedModelThroughputInput, ...request.Option) (*bedrock.UpdateProvisionedModelThroughputOutput, error) UpdateProvisionedModelThroughputRequest(*bedrock.UpdateProvisionedModelThroughputInput) (*request.Request, *bedrock.UpdateProvisionedModelThroughputOutput) diff --git a/service/bedrock/doc.go b/service/bedrock/doc.go index af238a77d94..08805524f39 100644 --- a/service/bedrock/doc.go +++ b/service/bedrock/doc.go @@ -3,7 +3,8 @@ // Package bedrock provides the client and types for making API // requests to Amazon Bedrock. // -// Describes the API operations for creating and managing Amazon Bedrock models. +// Describes the API operations for creating, managing, fine-turning, and evaluating +// Amazon Bedrock models. // // See https://docs.aws.amazon.com/goto/WebAPI/bedrock-2023-04-20 for more information on this service. // diff --git a/service/bedrock/errors.go b/service/bedrock/errors.go index 2becf4e8e1c..13965f82274 100644 --- a/service/bedrock/errors.go +++ b/service/bedrock/errors.go @@ -29,8 +29,8 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // The specified resource ARN was not found. Check the ARN and try your request - // again. + // The specified resource Amazon Resource Name (ARN) was not found. Check the + // Amazon Resource Name (ARN) and try your request again. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeServiceQuotaExceededException for service response error code diff --git a/service/bedrockagent/api.go b/service/bedrockagent/api.go index 42ab5b1e3da..0b5465f15fe 100644 --- a/service/bedrockagent/api.go +++ b/service/bedrockagent/api.go @@ -6729,6 +6729,9 @@ type CreateDataSourceInput struct { // see Ensuring idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string `locationName:"clientToken" min:"33" type:"string" idempotencyToken:"true"` + // The deletion policy for the requested data source + DataDeletionPolicy *string `locationName:"dataDeletionPolicy" type:"string" enum:"DataDeletionPolicy"` + // Contains metadata about where the data source is stored. // // DataSourceConfiguration is a required field @@ -6821,6 +6824,12 @@ func (s *CreateDataSourceInput) SetClientToken(v string) *CreateDataSourceInput return s } +// SetDataDeletionPolicy sets the DataDeletionPolicy field's value. +func (s *CreateDataSourceInput) SetDataDeletionPolicy(v string) *CreateDataSourceInput { + s.DataDeletionPolicy = &v + return s +} + // SetDataSourceConfiguration sets the DataSourceConfiguration field's value. func (s *CreateDataSourceInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *CreateDataSourceInput { s.DataSourceConfiguration = v @@ -7069,6 +7078,9 @@ type DataSource struct { // CreatedAt is a required field CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601" required:"true"` + // The deletion policy for the data source. + DataDeletionPolicy *string `locationName:"dataDeletionPolicy" type:"string" enum:"DataDeletionPolicy"` + // Contains details about how the data source is stored. // // DataSourceConfiguration is a required field @@ -7082,6 +7094,9 @@ type DataSource struct { // The description of the data source. Description *string `locationName:"description" min:"1" type:"string"` + // The details of the failure reasons related to the data source. + FailureReasons []*string `locationName:"failureReasons" type:"list"` + // The unique identifier of the knowledge base to which the data source belongs. // // KnowledgeBaseId is a required field @@ -7138,6 +7153,12 @@ func (s *DataSource) SetCreatedAt(v time.Time) *DataSource { return s } +// SetDataDeletionPolicy sets the DataDeletionPolicy field's value. +func (s *DataSource) SetDataDeletionPolicy(v string) *DataSource { + s.DataDeletionPolicy = &v + return s +} + // SetDataSourceConfiguration sets the DataSourceConfiguration field's value. func (s *DataSource) SetDataSourceConfiguration(v *DataSourceConfiguration) *DataSource { s.DataSourceConfiguration = v @@ -7156,6 +7177,12 @@ func (s *DataSource) SetDescription(v string) *DataSource { return s } +// SetFailureReasons sets the FailureReasons field's value. +func (s *DataSource) SetFailureReasons(v []*string) *DataSource { + s.FailureReasons = v + return s +} + // SetKnowledgeBaseId sets the KnowledgeBaseId field's value. func (s *DataSource) SetKnowledgeBaseId(v string) *DataSource { s.KnowledgeBaseId = &v @@ -12338,6 +12365,9 @@ type S3DataSourceConfiguration struct { // BucketArn is a required field BucketArn *string `locationName:"bucketArn" min:"1" type:"string" required:"true"` + // The account ID for the owner of the S3 bucket. + BucketOwnerAccountId *string `locationName:"bucketOwnerAccountId" min:"12" type:"string"` + // A list of S3 prefixes that define the object containing the data sources. // For more information, see Organizing objects using prefixes (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html). InclusionPrefixes []*string `locationName:"inclusionPrefixes" min:"1" type:"list"` @@ -12370,6 +12400,9 @@ func (s *S3DataSourceConfiguration) Validate() error { if s.BucketArn != nil && len(*s.BucketArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("BucketArn", 1)) } + if s.BucketOwnerAccountId != nil && len(*s.BucketOwnerAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BucketOwnerAccountId", 12)) + } if s.InclusionPrefixes != nil && len(s.InclusionPrefixes) < 1 { invalidParams.Add(request.NewErrParamMinLen("InclusionPrefixes", 1)) } @@ -12386,6 +12419,12 @@ func (s *S3DataSourceConfiguration) SetBucketArn(v string) *S3DataSourceConfigur return s } +// SetBucketOwnerAccountId sets the BucketOwnerAccountId field's value. +func (s *S3DataSourceConfiguration) SetBucketOwnerAccountId(v string) *S3DataSourceConfiguration { + s.BucketOwnerAccountId = &v + return s +} + // SetInclusionPrefixes sets the InclusionPrefixes field's value. func (s *S3DataSourceConfiguration) SetInclusionPrefixes(v []*string) *S3DataSourceConfiguration { s.InclusionPrefixes = v @@ -13734,6 +13773,9 @@ func (s *UpdateAgentOutput) SetAgent(v *Agent) *UpdateAgentOutput { type UpdateDataSourceInput struct { _ struct{} `type:"structure"` + // The data deletion policy of the updated data source. + DataDeletionPolicy *string `locationName:"dataDeletionPolicy" type:"string" enum:"DataDeletionPolicy"` + // Contains details about the storage configuration of the data source. // // DataSourceConfiguration is a required field @@ -13828,6 +13870,12 @@ func (s *UpdateDataSourceInput) Validate() error { return nil } +// SetDataDeletionPolicy sets the DataDeletionPolicy field's value. +func (s *UpdateDataSourceInput) SetDataDeletionPolicy(v string) *UpdateDataSourceInput { + s.DataDeletionPolicy = &v + return s +} + // SetDataSourceConfiguration sets the DataSourceConfiguration field's value. func (s *UpdateDataSourceInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *UpdateDataSourceInput { s.DataSourceConfiguration = v @@ -14422,12 +14470,31 @@ func CustomControlMethod_Values() []string { } } +const ( + // DataDeletionPolicyRetain is a DataDeletionPolicy enum value + DataDeletionPolicyRetain = "RETAIN" + + // DataDeletionPolicyDelete is a DataDeletionPolicy enum value + DataDeletionPolicyDelete = "DELETE" +) + +// DataDeletionPolicy_Values returns all elements of the DataDeletionPolicy enum +func DataDeletionPolicy_Values() []string { + return []string{ + DataDeletionPolicyRetain, + DataDeletionPolicyDelete, + } +} + const ( // DataSourceStatusAvailable is a DataSourceStatus enum value DataSourceStatusAvailable = "AVAILABLE" // DataSourceStatusDeleting is a DataSourceStatus enum value DataSourceStatusDeleting = "DELETING" + + // DataSourceStatusDeleteUnsuccessful is a DataSourceStatus enum value + DataSourceStatusDeleteUnsuccessful = "DELETE_UNSUCCESSFUL" ) // DataSourceStatus_Values returns all elements of the DataSourceStatus enum @@ -14435,6 +14502,7 @@ func DataSourceStatus_Values() []string { return []string{ DataSourceStatusAvailable, DataSourceStatusDeleting, + DataSourceStatusDeleteUnsuccessful, } } @@ -14545,6 +14613,9 @@ const ( // KnowledgeBaseStatusFailed is a KnowledgeBaseStatus enum value KnowledgeBaseStatusFailed = "FAILED" + + // KnowledgeBaseStatusDeleteUnsuccessful is a KnowledgeBaseStatus enum value + KnowledgeBaseStatusDeleteUnsuccessful = "DELETE_UNSUCCESSFUL" ) // KnowledgeBaseStatus_Values returns all elements of the KnowledgeBaseStatus enum @@ -14555,6 +14626,7 @@ func KnowledgeBaseStatus_Values() []string { KnowledgeBaseStatusDeleting, KnowledgeBaseStatusUpdating, KnowledgeBaseStatusFailed, + KnowledgeBaseStatusDeleteUnsuccessful, } } diff --git a/service/bedrockagentruntime/api.go b/service/bedrockagentruntime/api.go index 89b5271926a..4b169bffb35 100644 --- a/service/bedrockagentruntime/api.go +++ b/service/bedrockagentruntime/api.go @@ -1219,6 +1219,97 @@ func (s *BadGatewayException) RequestID() string { return s.RespMetadata.RequestID } +// This property contains the document to chat with, along with its attributes. +type ByteContentDoc struct { + _ struct{} `type:"structure"` + + // The MIME type of the document contained in the wrapper object. + // + // ContentType is a required field + ContentType *string `locationName:"contentType" type:"string" required:"true"` + + // The byte value of the file to upload, encoded as a Base-64 string. + // + // Data is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ByteContentDoc's + // String and GoString methods. + // + // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field + Data []byte `locationName:"data" min:"1" type:"blob" required:"true" sensitive:"true"` + + // The file name of the document contained in the wrapper object. + // + // Identifier is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ByteContentDoc's + // String and GoString methods. + // + // Identifier is a required field + Identifier *string `locationName:"identifier" min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ByteContentDoc) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ByteContentDoc) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ByteContentDoc) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ByteContentDoc"} + if s.ContentType == nil { + invalidParams.Add(request.NewErrParamRequired("ContentType")) + } + if s.Data == nil { + invalidParams.Add(request.NewErrParamRequired("Data")) + } + if s.Data != nil && len(s.Data) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Data", 1)) + } + if s.Identifier == nil { + invalidParams.Add(request.NewErrParamRequired("Identifier")) + } + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContentType sets the ContentType field's value. +func (s *ByteContentDoc) SetContentType(v string) *ByteContentDoc { + s.ContentType = &v + return s +} + +// SetData sets the Data field's value. +func (s *ByteContentDoc) SetData(v []byte) *ByteContentDoc { + s.Data = v + return s +} + +// SetIdentifier sets the Identifier field's value. +func (s *ByteContentDoc) SetIdentifier(v string) *ByteContentDoc { + s.Identifier = &v + return s +} + // An object containing a segment of the generated response that is based on // a source in the knowledge base, alongside information about the source. // @@ -1498,6 +1589,223 @@ func (s *DependencyFailedException) RequestID() string { return s.RespMetadata.RequestID } +// The unique external source of the content contained in the wrapper object. +type ExternalSource struct { + _ struct{} `type:"structure"` + + // The identifier, contentType, and data of the external source wrapper object. + ByteContent *ByteContentDoc `locationName:"byteContent" type:"structure"` + + // The S3 location of the external source wrapper object. + S3Location *S3ObjectDoc `locationName:"s3Location" type:"structure"` + + // The source type of the external source wrapper object. + // + // SourceType is a required field + SourceType *string `locationName:"sourceType" type:"string" required:"true" enum:"ExternalSourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExternalSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExternalSource"} + if s.SourceType == nil { + invalidParams.Add(request.NewErrParamRequired("SourceType")) + } + if s.ByteContent != nil { + if err := s.ByteContent.Validate(); err != nil { + invalidParams.AddNested("ByteContent", err.(request.ErrInvalidParams)) + } + } + if s.S3Location != nil { + if err := s.S3Location.Validate(); err != nil { + invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetByteContent sets the ByteContent field's value. +func (s *ExternalSource) SetByteContent(v *ByteContentDoc) *ExternalSource { + s.ByteContent = v + return s +} + +// SetS3Location sets the S3Location field's value. +func (s *ExternalSource) SetS3Location(v *S3ObjectDoc) *ExternalSource { + s.S3Location = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *ExternalSource) SetSourceType(v string) *ExternalSource { + s.SourceType = &v + return s +} + +// Contains the generation configuration of the external source wrapper object. +type ExternalSourcesGenerationConfiguration struct { + _ struct{} `type:"structure"` + + // Contain the textPromptTemplate string for the external source wrapper object. + PromptTemplate *PromptTemplate `locationName:"promptTemplate" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSourcesGenerationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSourcesGenerationConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExternalSourcesGenerationConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExternalSourcesGenerationConfiguration"} + if s.PromptTemplate != nil { + if err := s.PromptTemplate.Validate(); err != nil { + invalidParams.AddNested("PromptTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPromptTemplate sets the PromptTemplate field's value. +func (s *ExternalSourcesGenerationConfiguration) SetPromptTemplate(v *PromptTemplate) *ExternalSourcesGenerationConfiguration { + s.PromptTemplate = v + return s +} + +// The configurations of the external source wrapper object in the retrieveAndGenerate +// function. +type ExternalSourcesRetrieveAndGenerateConfiguration struct { + _ struct{} `type:"structure"` + + // The prompt used with the external source wrapper object with the retrieveAndGenerate + // function. + GenerationConfiguration *ExternalSourcesGenerationConfiguration `locationName:"generationConfiguration" type:"structure"` + + // The modelArn used with the external source wrapper object in the retrieveAndGenerate + // function. + // + // ModelArn is a required field + ModelArn *string `locationName:"modelArn" min:"20" type:"string" required:"true"` + + // The document used with the external source wrapper object in the retrieveAndGenerate + // function. + // + // Sources is a required field + Sources []*ExternalSource `locationName:"sources" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSourcesRetrieveAndGenerateConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ExternalSourcesRetrieveAndGenerateConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExternalSourcesRetrieveAndGenerateConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExternalSourcesRetrieveAndGenerateConfiguration"} + if s.ModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ModelArn")) + } + if s.ModelArn != nil && len(*s.ModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ModelArn", 20)) + } + if s.Sources == nil { + invalidParams.Add(request.NewErrParamRequired("Sources")) + } + if s.Sources != nil && len(s.Sources) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Sources", 1)) + } + if s.GenerationConfiguration != nil { + if err := s.GenerationConfiguration.Validate(); err != nil { + invalidParams.AddNested("GenerationConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Sources != nil { + for i, v := range s.Sources { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGenerationConfiguration sets the GenerationConfiguration field's value. +func (s *ExternalSourcesRetrieveAndGenerateConfiguration) SetGenerationConfiguration(v *ExternalSourcesGenerationConfiguration) *ExternalSourcesRetrieveAndGenerateConfiguration { + s.GenerationConfiguration = v + return s +} + +// SetModelArn sets the ModelArn field's value. +func (s *ExternalSourcesRetrieveAndGenerateConfiguration) SetModelArn(v string) *ExternalSourcesRetrieveAndGenerateConfiguration { + s.ModelArn = &v + return s +} + +// SetSources sets the Sources field's value. +func (s *ExternalSourcesRetrieveAndGenerateConfiguration) SetSources(v []*ExternalSource) *ExternalSourcesRetrieveAndGenerateConfiguration { + s.Sources = v + return s +} + // Contains information about the failure of the interaction. type FailureTrace struct { _ struct{} `type:"structure" sensitive:"true"` @@ -4295,6 +4603,10 @@ func (s *RetrievalResultS3Location) SetUri(v string) *RetrievalResultS3Location type RetrieveAndGenerateConfiguration struct { _ struct{} `type:"structure"` + // The configuration used with the external source wrapper object in the retrieveAndGenerate + // function. + ExternalSourcesConfiguration *ExternalSourcesRetrieveAndGenerateConfiguration `locationName:"externalSourcesConfiguration" type:"structure"` + // Contains details about the resource being queried. KnowledgeBaseConfiguration *KnowledgeBaseRetrieveAndGenerateConfiguration `locationName:"knowledgeBaseConfiguration" type:"structure"` @@ -4328,6 +4640,11 @@ func (s *RetrieveAndGenerateConfiguration) Validate() error { if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } + if s.ExternalSourcesConfiguration != nil { + if err := s.ExternalSourcesConfiguration.Validate(); err != nil { + invalidParams.AddNested("ExternalSourcesConfiguration", err.(request.ErrInvalidParams)) + } + } if s.KnowledgeBaseConfiguration != nil { if err := s.KnowledgeBaseConfiguration.Validate(); err != nil { invalidParams.AddNested("KnowledgeBaseConfiguration", err.(request.ErrInvalidParams)) @@ -4340,6 +4657,12 @@ func (s *RetrieveAndGenerateConfiguration) Validate() error { return nil } +// SetExternalSourcesConfiguration sets the ExternalSourcesConfiguration field's value. +func (s *RetrieveAndGenerateConfiguration) SetExternalSourcesConfiguration(v *ExternalSourcesRetrieveAndGenerateConfiguration) *RetrieveAndGenerateConfiguration { + s.ExternalSourcesConfiguration = v + return s +} + // SetKnowledgeBaseConfiguration sets the KnowledgeBaseConfiguration field's value. func (s *RetrieveAndGenerateConfiguration) SetKnowledgeBaseConfiguration(v *KnowledgeBaseRetrieveAndGenerateConfiguration) *RetrieveAndGenerateConfiguration { s.KnowledgeBaseConfiguration = v @@ -4937,6 +5260,56 @@ func (s *ReturnControlPayload) MarshalEvent(pm protocol.PayloadMarshaler) (msg e return msg, err } +// The unique wrapper object of the document from the S3 location. +type S3ObjectDoc struct { + _ struct{} `type:"structure"` + + // The file location of the S3 wrapper object. + // + // Uri is a required field + Uri *string `locationName:"uri" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3ObjectDoc) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3ObjectDoc) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ObjectDoc) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ObjectDoc"} + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + if s.Uri != nil && len(*s.Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetUri sets the Uri field's value. +func (s *S3ObjectDoc) SetUri(v string) *S3ObjectDoc { + s.Uri = &v + return s +} + // The number of requests exceeds the service quota. Resubmit your request later. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` @@ -5613,6 +5986,22 @@ func CreationMode_Values() []string { } } +const ( + // ExternalSourceTypeS3 is a ExternalSourceType enum value + ExternalSourceTypeS3 = "S3" + + // ExternalSourceTypeByteContent is a ExternalSourceType enum value + ExternalSourceTypeByteContent = "BYTE_CONTENT" +) + +// ExternalSourceType_Values returns all elements of the ExternalSourceType enum +func ExternalSourceType_Values() []string { + return []string{ + ExternalSourceTypeS3, + ExternalSourceTypeByteContent, + } +} + const ( // InvocationTypeActionGroup is a InvocationType enum value InvocationTypeActionGroup = "ACTION_GROUP" @@ -5688,12 +6077,16 @@ func RetrievalResultLocationType_Values() []string { const ( // RetrieveAndGenerateTypeKnowledgeBase is a RetrieveAndGenerateType enum value RetrieveAndGenerateTypeKnowledgeBase = "KNOWLEDGE_BASE" + + // RetrieveAndGenerateTypeExternalSources is a RetrieveAndGenerateType enum value + RetrieveAndGenerateTypeExternalSources = "EXTERNAL_SOURCES" ) // RetrieveAndGenerateType_Values returns all elements of the RetrieveAndGenerateType enum func RetrieveAndGenerateType_Values() []string { return []string{ RetrieveAndGenerateTypeKnowledgeBase, + RetrieveAndGenerateTypeExternalSources, } } diff --git a/service/bedrockruntime/api.go b/service/bedrockruntime/api.go index 9fe3f69aa55..b5b88636c44 100644 --- a/service/bedrockruntime/api.go +++ b/service/bedrockruntime/api.go @@ -64,14 +64,14 @@ func (c *BedrockRuntime) InvokeModelRequest(input *InvokeModelInput) (req *reque // InvokeModel API operation for Amazon Bedrock Runtime. // -// Invokes the specified Bedrock model to run inference using the input provided -// in the request body. You use InvokeModel to run inference for text models, -// image models, and embedding models. +// 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 more information, see Run inference (https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html) -// in the Bedrock User Guide. +// For example code, see Invoke model code examples in the Amazon Bedrock User +// Guide. // -// For example requests, see Examples (after the Errors section). +// This operation requires permission for the bedrock:InvokeModel action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -184,13 +184,20 @@ func (c *BedrockRuntime) InvokeModelWithResponseStreamRequest(input *InvokeModel // InvokeModelWithResponseStream API operation for Amazon Bedrock Runtime. // -// Invoke the specified Bedrock model to run inference using the input provided. -// Return the response in a stream. +// 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. // -// For more information, see Run inference (https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html) -// in the Bedrock User Guide. +// To see if a model supports streaming, call GetFoundationModel (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetFoundationModel.html) +// and check the responseStreamingSupported field in the response. // -// For an example request and response, see Examples (after the Errors section). +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -219,7 +226,7 @@ func (c *BedrockRuntime) InvokeModelWithResponseStreamRequest(input *InvokeModel // An internal server error occurred. Retry your request. // // - ModelStreamErrorException -// An error occurred while streaming the response. +// An error occurred while streaming the response. Retry your request. // // - ValidationException // Input validation failed. Check your request parameters and retry the request. @@ -567,9 +574,11 @@ type InvokeModelInput struct { // value is application/json. Accept *string `location:"header" locationName:"Accept" type:"string"` - // Input data in the format specified in the content-type request header. To - // see the format and content of this field for different models, refer to Inference - // parameters (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). + // 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 (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). + // For more information, see Run inference (https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html) + // in the Bedrock User Guide. // // Body is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by InvokeModelInput's @@ -581,10 +590,47 @@ type InvokeModelInput struct { // The MIME type of the input data in the request. The default value is application/json. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` - // Identifier of the model. + // 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. + // + // * You don't provide a guardrail identifier but you specify the amazon-bedrock-guardrailConfig + // field in the request body. + // + // * You enable the guardrail but the contentType isn't application/json. + // + // * You provide a guardrail identifier, but guardrailVersion isn't specified. + GuardrailIdentifier *string `location:"header" locationName:"X-Amzn-Bedrock-GuardrailIdentifier" type:"string"` + + // The version number for the guardrail. The value can also be DRAFT. + GuardrailVersion *string `location:"header" locationName:"X-Amzn-Bedrock-GuardrailVersion" type:"string"` + + // The unique identifier of the model to invoke to run inference. + // + // The modelId to provide depends on the type of model that you use: + // + // * If you use a base model, specify the model ID or its ARN. For a list + // of model IDs for base models, see Amazon Bedrock base model IDs (on-demand + // throughput) (https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns) + // in the Amazon Bedrock User Guide. + // + // * If you use a provisioned model, specify the ARN of the Provisioned Throughput. + // For more information, see Run inference using a Provisioned Throughput + // (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-thru-use.html) + // in the Amazon Bedrock User Guide. + // + // * If you use a custom model, first purchase Provisioned Throughput for + // it. Then specify the ARN of the resulting provisioned model. For more + // information, see Use a custom model in Amazon Bedrock (https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-use.html) + // in the Amazon Bedrock User Guide. // // ModelId is a required field ModelId *string `location:"uri" locationName:"modelId" min:"1" type:"string" required:"true"` + + // Specifies whether to enable or disable the Bedrock trace. If enabled, you + // can see the full Bedrock trace. + Trace *string `location:"header" locationName:"X-Amzn-Bedrock-Trace" type:"string" enum:"Trace"` } // String returns the string representation. @@ -642,18 +688,36 @@ func (s *InvokeModelInput) SetContentType(v string) *InvokeModelInput { return s } +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *InvokeModelInput) SetGuardrailIdentifier(v string) *InvokeModelInput { + s.GuardrailIdentifier = &v + return s +} + +// SetGuardrailVersion sets the GuardrailVersion field's value. +func (s *InvokeModelInput) SetGuardrailVersion(v string) *InvokeModelInput { + s.GuardrailVersion = &v + return s +} + // SetModelId sets the ModelId field's value. func (s *InvokeModelInput) SetModelId(v string) *InvokeModelInput { s.ModelId = &v return s } +// SetTrace sets the Trace field's value. +func (s *InvokeModelInput) SetTrace(v string) *InvokeModelInput { + s.Trace = &v + return s +} + type InvokeModelOutput struct { _ struct{} `type:"structure" payload:"Body"` - // Inference response from the model in the format specified in the content-type - // header field. To see the format and content of this field for different models, - // refer to Inference parameters (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). + // 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 (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). // // Body is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by InvokeModelOutput's @@ -705,9 +769,11 @@ type InvokeModelWithResponseStreamInput struct { // value is application/json. Accept *string `location:"header" locationName:"X-Amzn-Bedrock-Accept" type:"string"` - // Inference input in the format specified by the content-type. To see the format - // and content of this field for different models, refer to Inference parameters - // (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). + // 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 (https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html). + // For more information, see Run inference (https://docs.aws.amazon.com/bedrock/latest/userguide/api-methods-run.html) + // in the Bedrock User Guide. // // Body is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by InvokeModelWithResponseStreamInput's @@ -719,10 +785,47 @@ type InvokeModelWithResponseStreamInput struct { // The MIME type of the input data in the request. The default value is application/json. ContentType *string `location:"header" locationName:"Content-Type" type:"string"` - // Id of the model to invoke using the streaming request. + // 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. + // + // * You don't provide a guardrail identifier but you specify the amazon-bedrock-guardrailConfig + // field in the request body. + // + // * You enable the guardrail but the contentType isn't application/json. + // + // * You provide a guardrail identifier, but guardrailVersion isn't specified. + GuardrailIdentifier *string `location:"header" locationName:"X-Amzn-Bedrock-GuardrailIdentifier" type:"string"` + + // The version number for the guardrail. The value can also be DRAFT. + GuardrailVersion *string `location:"header" locationName:"X-Amzn-Bedrock-GuardrailVersion" type:"string"` + + // The unique identifier of the model to invoke to run inference. + // + // The modelId to provide depends on the type of model that you use: + // + // * If you use a base model, specify the model ID or its ARN. For a list + // of model IDs for base models, see Amazon Bedrock base model IDs (on-demand + // throughput) (https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html#model-ids-arns) + // in the Amazon Bedrock User Guide. + // + // * If you use a provisioned model, specify the ARN of the Provisioned Throughput. + // For more information, see Run inference using a Provisioned Throughput + // (https://docs.aws.amazon.com/bedrock/latest/userguide/prov-thru-use.html) + // in the Amazon Bedrock User Guide. + // + // * If you use a custom model, first purchase Provisioned Throughput for + // it. Then specify the ARN of the resulting provisioned model. For more + // information, see Use a custom model in Amazon Bedrock (https://docs.aws.amazon.com/bedrock/latest/userguide/model-customization-use.html) + // in the Amazon Bedrock User Guide. // // ModelId is a required field ModelId *string `location:"uri" locationName:"modelId" min:"1" type:"string" required:"true"` + + // Specifies whether to enable or disable the Bedrock trace. If enabled, you + // can see the full Bedrock trace. + Trace *string `location:"header" locationName:"X-Amzn-Bedrock-Trace" type:"string" enum:"Trace"` } // String returns the string representation. @@ -780,12 +883,30 @@ func (s *InvokeModelWithResponseStreamInput) SetContentType(v string) *InvokeMod return s } +// SetGuardrailIdentifier sets the GuardrailIdentifier field's value. +func (s *InvokeModelWithResponseStreamInput) SetGuardrailIdentifier(v string) *InvokeModelWithResponseStreamInput { + s.GuardrailIdentifier = &v + return s +} + +// SetGuardrailVersion sets the GuardrailVersion field's value. +func (s *InvokeModelWithResponseStreamInput) SetGuardrailVersion(v string) *InvokeModelWithResponseStreamInput { + s.GuardrailVersion = &v + return s +} + // SetModelId sets the ModelId field's value. func (s *InvokeModelWithResponseStreamInput) SetModelId(v string) *InvokeModelWithResponseStreamInput { s.ModelId = &v return s } +// SetTrace sets the Trace field's value. +func (s *InvokeModelWithResponseStreamInput) SetTrace(v string) *InvokeModelWithResponseStreamInput { + s.Trace = &v + return s +} + type InvokeModelWithResponseStreamOutput struct { _ struct{} `type:"structure" payload:"Body"` @@ -960,7 +1081,7 @@ func (s *ModelNotReadyException) RequestID() string { return s.RespMetadata.RequestID } -// An error occurred while streaming the response. +// An error occurred while streaming the response. Retry your request. type ModelStreamErrorException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -1696,3 +1817,19 @@ func (s *ValidationException) StatusCode() int { func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } + +const ( + // TraceEnabled is a Trace enum value + TraceEnabled = "ENABLED" + + // TraceDisabled is a Trace enum value + TraceDisabled = "DISABLED" +) + +// Trace_Values returns all elements of the Trace enum +func Trace_Values() []string { + return []string{ + TraceEnabled, + TraceDisabled, + } +} diff --git a/service/bedrockruntime/doc.go b/service/bedrockruntime/doc.go index a812ff6ad2e..3ea7783d883 100644 --- a/service/bedrockruntime/doc.go +++ b/service/bedrockruntime/doc.go @@ -3,7 +3,7 @@ // Package bedrockruntime provides the client and types for making API // requests to Amazon Bedrock Runtime. // -// Describes the API operations for running inference using Bedrock models. +// Describes the API operations for running inference using Amazon Bedrock models. // // See https://docs.aws.amazon.com/goto/WebAPI/bedrock-runtime-2023-09-30 for more information on this service. // diff --git a/service/bedrockruntime/errors.go b/service/bedrockruntime/errors.go index 64323ad3a83..b78384445bb 100644 --- a/service/bedrockruntime/errors.go +++ b/service/bedrockruntime/errors.go @@ -35,7 +35,7 @@ const ( // ErrCodeModelStreamErrorException for service response error code // "ModelStreamErrorException". // - // An error occurred while streaming the response. + // An error occurred while streaming the response. Retry your request. ErrCodeModelStreamErrorException = "ModelStreamErrorException" // ErrCodeModelTimeoutException for service response error code diff --git a/service/costexplorer/api.go b/service/costexplorer/api.go index 473faee9da5..79195771a33 100644 --- a/service/costexplorer/api.go +++ b/service/costexplorer/api.go @@ -1086,8 +1086,11 @@ func (c *CostExplorer) GetCostAndUsageWithResourcesRequest(input *GetCostAndUsag // by various dimensions, such as SERVICE or AZ, in a specific time range. For // a complete list of valid dimensions, see the GetDimensionValues (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html) // operation. Management account in an organization in Organizations have access -// to all member accounts. This API is currently available for the Amazon Elastic -// Compute Cloud – Compute service only. +// to all member accounts. +// +// Hourly granularity is only available for EC2-Instances (Elastic Compute Cloud) +// resource-level data. All other resource-level data is available at daily +// granularity. // // This is an opt-in only feature. You can enable this feature from the Cost // Explorer Settings page. For information about how to access the Settings @@ -14449,15 +14452,18 @@ func (s *ReservationPurchaseRecommendationDetail) SetUpfrontCost(v string) *Rese return s } -// Information about this specific recommendation, such as the timestamp for -// when Amazon Web Services made a specific recommendation. +// Information about a recommendation, such as the timestamp for when Amazon +// Web Services made a specific recommendation. type ReservationPurchaseRecommendationMetadata struct { _ struct{} `type:"structure"` - // The timestamp for when Amazon Web Services made this recommendation. + // Additional metadata that might be applicable to the recommendation. + AdditionalMetadata *string `type:"string"` + + // The timestamp for when Amazon Web Services made the recommendation. GenerationTimestamp *string `type:"string"` - // The ID for this specific recommendation. + // The ID for the recommendation. RecommendationId *string `type:"string"` } @@ -14479,6 +14485,12 @@ func (s ReservationPurchaseRecommendationMetadata) GoString() string { return s.String() } +// SetAdditionalMetadata sets the AdditionalMetadata field's value. +func (s *ReservationPurchaseRecommendationMetadata) SetAdditionalMetadata(v string) *ReservationPurchaseRecommendationMetadata { + s.AdditionalMetadata = &v + return s +} + // SetGenerationTimestamp sets the GenerationTimestamp field's value. func (s *ReservationPurchaseRecommendationMetadata) SetGenerationTimestamp(v string) *ReservationPurchaseRecommendationMetadata { s.GenerationTimestamp = &v @@ -15009,21 +15021,21 @@ func (s *RightsizingRecommendationConfiguration) SetRecommendationTarget(v strin return s } -// Metadata for this recommendation set. +// Metadata for a recommendation set. type RightsizingRecommendationMetadata struct { _ struct{} `type:"structure"` // Additional metadata that might be applicable to the recommendation. AdditionalMetadata *string `type:"string"` - // The timestamp for when Amazon Web Services made this recommendation. + // The timestamp for when Amazon Web Services made the recommendation. GenerationTimestamp *string `type:"string"` // The number of days of previous usage that Amazon Web Services considers when - // making this recommendation. + // making the recommendation. LookbackPeriodInDays *string `type:"string" enum:"LookbackPeriodInDays"` - // The ID for this specific recommendation. + // The ID for the recommendation. RecommendationId *string `type:"string"` } diff --git a/service/ec2/api.go b/service/ec2/api.go index 2e604f27643..0337b750933 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -5323,10 +5323,10 @@ func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *requ // that you specify 2. Broadcast and multicast are not supported. For more // information about NetBIOS node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt). // -// - ipv6-preferred-lease-time - A value (in seconds, minutes, hours, or -// years) for how frequently a running instance with an IPv6 assigned to -// it goes through DHCPv6 lease renewal. Acceptable values are between 140 -// and 2147483647 seconds (approximately 68 years). If no value is entered, +// - ipv6-address-preferred-lease-time - A value (in seconds, minutes, hours, +// or years) for how frequently a running instance with an IPv6 assigned +// to it goes through DHCPv6 lease renewal. Acceptable values are between +// 140 and 2147483647 seconds (approximately 68 years). If no value is entered, // the default lease time is 140 seconds. If you use long-term addressing // for EC2 instances, you can increase the lease time and avoid frequent // lease renewal requests. Lease renewal typically occurs when half of the @@ -6553,10 +6553,10 @@ func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req // see Launch an instance from a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) // in the Amazon Elastic Compute Cloud User Guide. // -// If you want to clone an existing launch template as the basis for creating -// a new launch template, you can use the Amazon EC2 console. The API, SDKs, -// and CLI do not support cloning a template. For more information, see Create -// a launch template from an existing launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template-from-existing-launch-template) +// To clone an existing launch template as the basis for a new launch template, +// use the Amazon EC2 console. The API, SDKs, and CLI do not support cloning +// a template. For more information, see Create a launch template from an existing +// launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template-from-existing-launch-template) // in the Amazon Elastic Compute Cloud User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -6630,15 +6630,17 @@ func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVers // CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud. // -// Creates a new version of a launch template. You can specify an existing version -// of launch template from which to base the new version. +// Creates a new version of a launch template. You must specify an existing +// launch template, either by name or ID. You can determine whether the new +// version inherits parameters from a source version, and add or overwrite parameters +// as needed. // // Launch template versions are numbered in the order in which they are created. -// You cannot specify, change, or replace the numbering of launch template versions. +// You can't specify, change, or replace the numbering of launch template versions. // // Launch templates are immutable; after you create a launch template, you can't // modify it. Instead, you can create a new version of the launch template that -// includes any changes you require. +// includes the changes that you require. // // For more information, see Modify a launch template (manage launch template // versions) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#manage-launch-template-versions) @@ -22209,6 +22211,9 @@ func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Re // AMI are terminated, specifying the ID of the image will eventually return // an error indicating that the AMI ID cannot be found. // +// We strongly recommend using only paginated requests. Unpaginated requests +// are susceptible to throttling and timeouts. +// // The order of the elements in the response, including those within nested // structures, might vary. Applications should not assume the elements appear // in a particular order. @@ -23761,6 +23766,9 @@ func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *requ // If you describe instances and specify only instance IDs that are in an unaffected // zone, the call works normally. // +// We strongly recommend using only paginated requests. Unpaginated requests +// are susceptible to throttling and timeouts. +// // The order of the elements in the response, including those within nested // structures, might vary. Applications should not assume the elements appear // in a particular order. @@ -27473,6 +27481,9 @@ func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesI // you use pagination or one of the following filters: group-id, mac-address, // private-dns-name, private-ip-address, private-dns-name, subnet-id, or vpc-id. // +// We strongly recommend using only paginated requests. Unpaginated requests +// are susceptible to throttling and timeouts. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -29759,6 +29770,9 @@ func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *requ // For more information about EBS snapshots, see Amazon EBS snapshots (https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html) // in the Amazon EBS User Guide. // +// We strongly recommend using only paginated requests. Unpaginated requests +// are susceptible to throttling and timeouts. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -30949,6 +30963,9 @@ func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Reques // For more information about tags, see Tag your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) // in the Amazon Elastic Compute Cloud User Guide. // +// We strongly recommend using only paginated requests. Unpaginated requests +// are susceptible to throttling and timeouts. +// // The order of the elements in the response, including those within nested // structures, might vary. Applications should not assume the elements appear // in a particular order. @@ -33813,6 +33830,9 @@ func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. // For more information about EBS volumes, see Amazon EBS volumes (https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) // in the Amazon EBS User Guide. // +// We strongly recommend using only paginated requests. Unpaginated requests +// are susceptible to throttling and timeouts. +// // The order of the elements in the response, including those within nested // structures, might vary. Applications should not assume the elements appear // in a particular order. @@ -36570,6 +36590,87 @@ func (c *EC2) DisableImageDeprecationWithContext(ctx aws.Context, input *Disable return out, req.Send() } +const opDisableImageDeregistrationProtection = "DisableImageDeregistrationProtection" + +// DisableImageDeregistrationProtectionRequest generates a "aws/request.Request" representing the +// client's request for the DisableImageDeregistrationProtection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisableImageDeregistrationProtection for more information on using the DisableImageDeregistrationProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisableImageDeregistrationProtectionRequest method. +// req, resp := client.DisableImageDeregistrationProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableImageDeregistrationProtection +func (c *EC2) DisableImageDeregistrationProtectionRequest(input *DisableImageDeregistrationProtectionInput) (req *request.Request, output *DisableImageDeregistrationProtectionOutput) { + op := &request.Operation{ + Name: opDisableImageDeregistrationProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisableImageDeregistrationProtectionInput{} + } + + output = &DisableImageDeregistrationProtectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisableImageDeregistrationProtection API operation for Amazon Elastic Compute Cloud. +// +// Disables deregistration protection for an AMI. When deregistration protection +// is disabled, the AMI can be deregistered. +// +// If you chose to include a 24-hour cooldown period when you enabled deregistration +// protection for the AMI, then, when you disable deregistration protection, +// you won’t immediately be able to deregister the AMI. +// +// For more information, see Protect an AMI from deregistration (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html#ami-deregistration-protection) +// in the Amazon EC2 User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation DisableImageDeregistrationProtection for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableImageDeregistrationProtection +func (c *EC2) DisableImageDeregistrationProtection(input *DisableImageDeregistrationProtectionInput) (*DisableImageDeregistrationProtectionOutput, error) { + req, out := c.DisableImageDeregistrationProtectionRequest(input) + return out, req.Send() +} + +// DisableImageDeregistrationProtectionWithContext is the same as DisableImageDeregistrationProtection with the addition of +// the ability to pass a context and additional request options. +// +// See DisableImageDeregistrationProtection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) DisableImageDeregistrationProtectionWithContext(ctx aws.Context, input *DisableImageDeregistrationProtectionInput, opts ...request.Option) (*DisableImageDeregistrationProtectionOutput, error) { + req, out := c.DisableImageDeregistrationProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisableIpamOrganizationAdminAccount = "DisableIpamOrganizationAdminAccount" // DisableIpamOrganizationAdminAccountRequest generates a "aws/request.Request" representing the @@ -38903,6 +39004,86 @@ func (c *EC2) EnableImageDeprecationWithContext(ctx aws.Context, input *EnableIm return out, req.Send() } +const opEnableImageDeregistrationProtection = "EnableImageDeregistrationProtection" + +// EnableImageDeregistrationProtectionRequest generates a "aws/request.Request" representing the +// client's request for the EnableImageDeregistrationProtection operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See EnableImageDeregistrationProtection for more information on using the EnableImageDeregistrationProtection +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the EnableImageDeregistrationProtectionRequest method. +// req, resp := client.EnableImageDeregistrationProtectionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableImageDeregistrationProtection +func (c *EC2) EnableImageDeregistrationProtectionRequest(input *EnableImageDeregistrationProtectionInput) (req *request.Request, output *EnableImageDeregistrationProtectionOutput) { + op := &request.Operation{ + Name: opEnableImageDeregistrationProtection, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &EnableImageDeregistrationProtectionInput{} + } + + output = &EnableImageDeregistrationProtectionOutput{} + req = c.newRequest(op, input, output) + return +} + +// EnableImageDeregistrationProtection API operation for Amazon Elastic Compute Cloud. +// +// Enables deregistration protection for an AMI. When deregistration protection +// is enabled, the AMI can't be deregistered. +// +// To allow the AMI to be deregistered, you must first disable deregistration +// protection using DisableImageDeregistrationProtection. +// +// For more information, see Protect an AMI from deregistration (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html#ami-deregistration-protection) +// in the Amazon EC2 User Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic Compute Cloud's +// API operation EnableImageDeregistrationProtection for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableImageDeregistrationProtection +func (c *EC2) EnableImageDeregistrationProtection(input *EnableImageDeregistrationProtectionInput) (*EnableImageDeregistrationProtectionOutput, error) { + req, out := c.EnableImageDeregistrationProtectionRequest(input) + return out, req.Send() +} + +// EnableImageDeregistrationProtectionWithContext is the same as EnableImageDeregistrationProtection with the addition of +// the ability to pass a context and additional request options. +// +// See EnableImageDeregistrationProtection for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *EC2) EnableImageDeregistrationProtectionWithContext(ctx aws.Context, input *EnableImageDeregistrationProtectionInput, opts ...request.Option) (*EnableImageDeregistrationProtectionOutput, error) { + req, out := c.EnableImageDeregistrationProtectionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opEnableIpamOrganizationAdminAccount = "EnableIpamOrganizationAdminAccount" // EnableIpamOrganizationAdminAccountRequest generates a "aws/request.Request" representing the @@ -62346,12 +62527,12 @@ type AssociatedRole struct { // The name of the Amazon S3 bucket in which the Amazon S3 object is stored. CertificateS3BucketName *string `locationName:"certificateS3BucketName" type:"string"` - // The key of the Amazon S3 object ey where the certificate, certificate chain, - // and encrypted private key bundle is stored. The object key is formated as - // follows: role_arn/certificate_arn. + // The key of the Amazon S3 object where the certificate, certificate chain, + // and encrypted private key bundle are stored. The object key is formatted + // as follows: role_arn/certificate_arn. CertificateS3ObjectKey *string `locationName:"certificateS3ObjectKey" type:"string"` - // The ID of the KMS customer master key (CMK) used to encrypt the private key. + // The ID of the KMS key used to encrypt the private key. EncryptionKmsKeyId *string `locationName:"encryptionKmsKeyId" type:"string"` } @@ -74404,14 +74585,14 @@ type CreateLaunchTemplateVersionInput struct { // The ID of the launch template. // - // You must specify either the LaunchTemplateId or the LaunchTemplateName, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateId *string `type:"string"` // The name of the launch template. // - // You must specify the LaunchTemplateName or the LaunchTemplateId, but not - // both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateName *string `min:"3" type:"string"` // If true, and if a Systems Manager parameter is specified for ImageId, the @@ -74422,11 +74603,17 @@ type CreateLaunchTemplateVersionInput struct { // Default: false ResolveAlias *bool `type:"boolean"` - // The version number of the launch template version on which to base the new - // version. The new version inherits the same launch parameters as the source - // version, except for parameters that you specify in LaunchTemplateData. Snapshots + // The version of the launch template on which to base the new version. Snapshots // applied to the block device mapping are ignored when creating a new version // unless they are explicitly included. + // + // If you specify this parameter, the new version inherits the launch parameters + // from the source version. If you specify additional launch parameters for + // the new version, they overwrite any corresponding launch parameters inherited + // from the source version. + // + // If you omit this parameter, the new version contains only the launch parameters + // that you specify for the new version. SourceVersion *string `type:"string"` // A description for the version of the launch template. @@ -85309,14 +85496,14 @@ type DeleteLaunchTemplateInput struct { // The ID of the launch template. // - // You must specify either the LaunchTemplateId or the LaunchTemplateName, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateId *string `type:"string"` // The name of the launch template. // - // You must specify either the LaunchTemplateName or the LaunchTemplateId, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateName *string `min:"3" type:"string"` } @@ -85411,14 +85598,14 @@ type DeleteLaunchTemplateVersionsInput struct { // The ID of the launch template. // - // You must specify either the LaunchTemplateId or the LaunchTemplateName, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateId *string `type:"string"` // The name of the launch template. // - // You must specify either the LaunchTemplateName or the LaunchTemplateId, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateName *string `min:"3" type:"string"` // The version numbers of one or more launch template versions to delete. You @@ -96839,6 +97026,9 @@ type DescribeImageAttributeOutput struct { // The boot mode. BootMode *AttributeValue `locationName:"bootMode" type:"structure"` + // Indicates whether deregistration protection is enabled for the AMI. + DeregistrationProtection *AttributeValue `locationName:"deregistrationProtection" type:"structure"` + // A description for the AMI. Description *AttributeValue `locationName:"description" type:"structure"` @@ -96918,6 +97108,12 @@ func (s *DescribeImageAttributeOutput) SetBootMode(v *AttributeValue) *DescribeI return s } +// SetDeregistrationProtection sets the DeregistrationProtection field's value. +func (s *DescribeImageAttributeOutput) SetDeregistrationProtection(v *AttributeValue) *DescribeImageAttributeOutput { + s.DeregistrationProtection = v + return s +} + // SetDescription sets the Description field's value. func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput { s.Description = v @@ -100689,7 +100885,8 @@ type DescribeLaunchTemplateVersionsInput struct { // The ID of the launch template. // // To describe one or more versions of a specified launch template, you must - // specify either the LaunchTemplateId or the LaunchTemplateName, but not both. + // specify either the launch template ID or the launch template name, but not + // both. // // To describe all the latest or default launch template versions in your account, // you must omit this parameter. @@ -100698,7 +100895,8 @@ type DescribeLaunchTemplateVersionsInput struct { // The name of the launch template. // // To describe one or more versions of a specified launch template, you must - // specify either the LaunchTemplateName or the LaunchTemplateId, but not both. + // specify either the launch template name or the launch template ID, but not + // both. // // To describe all the latest or default launch template versions in your account, // you must omit this parameter. @@ -103757,7 +103955,7 @@ func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetwork type DescribeNetworkInterfacesOutput struct { _ struct{} `type:"structure"` - // Information about one or more network interfaces. + // Information about the network interfaces. NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"` // The token to include in another request to get the next page of items. This @@ -107854,13 +108052,8 @@ type DescribeTagsInput struct { // // * resource-id - The ID of the resource. // - // * resource-type - The resource type (customer-gateway | dedicated-host - // | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | - // image | instance | internet-gateway | key-pair | launch-template | natgateway - // | network-acl | network-interface | placement-group | reserved-instances - // | route-table | security-group | snapshot | spot-instances-request | subnet - // | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection - // | vpn-connection | vpn-gateway). + // * resource-type - The resource type. For a list of possible values, see + // TagSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TagSpecification.html). // // * tag: - The key/value combination of the tag. For example, specify // "tag:Owner" for the filter name and "TeamA" for the filter value to find @@ -114702,6 +114895,95 @@ func (s *DisableImageDeprecationOutput) SetReturn(v bool) *DisableImageDeprecati return s } +type DisableImageDeregistrationProtectionInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AMI. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableImageDeregistrationProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableImageDeregistrationProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisableImageDeregistrationProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisableImageDeregistrationProtectionInput"} + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *DisableImageDeregistrationProtectionInput) SetDryRun(v bool) *DisableImageDeregistrationProtectionInput { + s.DryRun = &v + return s +} + +// SetImageId sets the ImageId field's value. +func (s *DisableImageDeregistrationProtectionInput) SetImageId(v string) *DisableImageDeregistrationProtectionInput { + s.ImageId = &v + return s +} + +type DisableImageDeregistrationProtectionOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *string `locationName:"return" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableImageDeregistrationProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisableImageDeregistrationProtectionOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *DisableImageDeregistrationProtectionOutput) SetReturn(v string) *DisableImageDeregistrationProtectionOutput { + s.Return = &v + return s +} + type DisableImageInput struct { _ struct{} `type:"structure"` @@ -119674,6 +119956,105 @@ func (s *EnableImageDeprecationOutput) SetReturn(v bool) *EnableImageDeprecation return s } +type EnableImageDeregistrationProtectionInput struct { + _ struct{} `type:"structure"` + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have + // the required permissions, the error response is DryRunOperation. Otherwise, + // it is UnauthorizedOperation. + DryRun *bool `type:"boolean"` + + // The ID of the AMI. + // + // ImageId is a required field + ImageId *string `type:"string" required:"true"` + + // If true, enforces deregistration protection for 24 hours after deregistration + // protection is disabled. + WithCooldown *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableImageDeregistrationProtectionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableImageDeregistrationProtectionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EnableImageDeregistrationProtectionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnableImageDeregistrationProtectionInput"} + if s.ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("ImageId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDryRun sets the DryRun field's value. +func (s *EnableImageDeregistrationProtectionInput) SetDryRun(v bool) *EnableImageDeregistrationProtectionInput { + s.DryRun = &v + return s +} + +// SetImageId sets the ImageId field's value. +func (s *EnableImageDeregistrationProtectionInput) SetImageId(v string) *EnableImageDeregistrationProtectionInput { + s.ImageId = &v + return s +} + +// SetWithCooldown sets the WithCooldown field's value. +func (s *EnableImageDeregistrationProtectionInput) SetWithCooldown(v bool) *EnableImageDeregistrationProtectionInput { + s.WithCooldown = &v + return s +} + +type EnableImageDeregistrationProtectionOutput struct { + _ struct{} `type:"structure"` + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *string `locationName:"return" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableImageDeregistrationProtectionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EnableImageDeregistrationProtectionOutput) GoString() string { + return s.String() +} + +// SetReturn sets the Return field's value. +func (s *EnableImageDeregistrationProtectionOutput) SetReturn(v string) *EnableImageDeregistrationProtectionOutput { + s.Return = &v + return s +} + type EnableImageInput struct { _ struct{} `type:"structure"` @@ -131823,6 +132204,9 @@ type Image struct { // the seconds to the nearest minute. DeprecationTime *string `locationName:"deprecationTime" type:"string"` + // Indicates whether deregistration protection is enabled for the AMI. + DeregistrationProtection *string `locationName:"deregistrationProtection" type:"string"` + // The description of the AMI that was provided during image creation. Description *string `locationName:"description" type:"string"` @@ -131856,6 +132240,13 @@ type Image struct { // images. KernelId *string `locationName:"kernelId" type:"string"` + // The date and time, in ISO 8601 date-time format (http://www.iso.org/iso/iso8601), + // when the AMI was last used to launch an EC2 instance. When the AMI is used + // to launch an instance, there is a 24-hour delay before that usage is reported. + // + // lastLaunchedTime data is available starting April 2017. + LastLaunchedTime *string `locationName:"lastLaunchedTime" type:"string"` + // The name of the AMI that was provided during image creation. Name *string `locationName:"name" type:"string"` @@ -131975,6 +132366,12 @@ func (s *Image) SetDeprecationTime(v string) *Image { return s } +// SetDeregistrationProtection sets the DeregistrationProtection field's value. +func (s *Image) SetDeregistrationProtection(v string) *Image { + s.DeregistrationProtection = &v + return s +} + // SetDescription sets the Description field's value. func (s *Image) SetDescription(v string) *Image { s.Description = &v @@ -132029,6 +132426,12 @@ func (s *Image) SetKernelId(v string) *Image { return s } +// SetLastLaunchedTime sets the LastLaunchedTime field's value. +func (s *Image) SetLastLaunchedTime(v string) *Image { + s.LastLaunchedTime = &v + return s +} + // SetName sets the Name field's value. func (s *Image) SetName(v string) *Image { s.Name = &v @@ -144851,30 +145254,27 @@ func (s *LaunchTemplatePrivateDnsNameOptionsRequest) SetHostnameType(v string) * return s } -// The launch template to use. You must specify either the launch template ID -// or launch template name in the request, but not both. +// Describes the launch template to use. type LaunchTemplateSpecification struct { _ struct{} `type:"structure"` // The ID of the launch template. // - // You must specify the LaunchTemplateId or the LaunchTemplateName, but not - // both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateId *string `type:"string"` // The name of the launch template. // - // You must specify the LaunchTemplateName or the LaunchTemplateId, but not - // both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateName *string `type:"string"` // The launch template version number, $Latest, or $Default. // - // If the value is $Latest, Amazon EC2 uses the latest version of the launch - // template. + // A value of $Latest uses the latest version of the launch template. // - // If the value is $Default, Amazon EC2 uses the default version of the launch - // template. + // A value of $Default uses the default version of the launch template. // // Default: The default version of the launch template. Version *string `type:"string"` @@ -151268,14 +151668,14 @@ type ModifyLaunchTemplateInput struct { // The ID of the launch template. // - // You must specify either the LaunchTemplateId or the LaunchTemplateName, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateId *string `type:"string"` // The name of the launch template. // - // You must specify either the LaunchTemplateName or the LaunchTemplateId, but - // not both. + // You must specify either the launch template ID or the launch template name, + // but not both. LaunchTemplateName *string `min:"3" type:"string"` } @@ -172050,9 +172450,8 @@ type RunInstancesInput struct { // you choose an AMI that is configured to allow users another way to log in. KeyName *string `type:"string"` - // The launch template to use to launch the instances. Any parameters that you - // specify in RunInstances override the same parameters in the launch template. - // You can specify either the name or ID of a launch template, but not both. + // The launch template. Any additional parameters that you specify for the new + // instance overwrite the corresponding parameters included in the launch template. LaunchTemplate *LaunchTemplateSpecification `type:"structure"` // The license configurations. @@ -193066,6 +193465,9 @@ const ( // ImageAttributeNameImdsSupport is a ImageAttributeName enum value ImageAttributeNameImdsSupport = "imdsSupport" + + // ImageAttributeNameDeregistrationProtection is a ImageAttributeName enum value + ImageAttributeNameDeregistrationProtection = "deregistrationProtection" ) // ImageAttributeName_Values returns all elements of the ImageAttributeName enum @@ -193083,6 +193485,7 @@ func ImageAttributeName_Values() []string { ImageAttributeNameUefiData, ImageAttributeNameLastLaunchedTime, ImageAttributeNameImdsSupport, + ImageAttributeNameDeregistrationProtection, } } diff --git a/service/ec2/ec2iface/interface.go b/service/ec2/ec2iface/interface.go index 4be7c47860d..90e50399bf7 100644 --- a/service/ec2/ec2iface/interface.go +++ b/service/ec2/ec2iface/interface.go @@ -1934,6 +1934,10 @@ type EC2API interface { DisableImageDeprecationWithContext(aws.Context, *ec2.DisableImageDeprecationInput, ...request.Option) (*ec2.DisableImageDeprecationOutput, error) DisableImageDeprecationRequest(*ec2.DisableImageDeprecationInput) (*request.Request, *ec2.DisableImageDeprecationOutput) + DisableImageDeregistrationProtection(*ec2.DisableImageDeregistrationProtectionInput) (*ec2.DisableImageDeregistrationProtectionOutput, error) + DisableImageDeregistrationProtectionWithContext(aws.Context, *ec2.DisableImageDeregistrationProtectionInput, ...request.Option) (*ec2.DisableImageDeregistrationProtectionOutput, error) + DisableImageDeregistrationProtectionRequest(*ec2.DisableImageDeregistrationProtectionInput) (*request.Request, *ec2.DisableImageDeregistrationProtectionOutput) + DisableIpamOrganizationAdminAccount(*ec2.DisableIpamOrganizationAdminAccountInput) (*ec2.DisableIpamOrganizationAdminAccountOutput, error) DisableIpamOrganizationAdminAccountWithContext(aws.Context, *ec2.DisableIpamOrganizationAdminAccountInput, ...request.Option) (*ec2.DisableIpamOrganizationAdminAccountOutput, error) DisableIpamOrganizationAdminAccountRequest(*ec2.DisableIpamOrganizationAdminAccountInput) (*request.Request, *ec2.DisableIpamOrganizationAdminAccountOutput) @@ -2054,6 +2058,10 @@ type EC2API interface { EnableImageDeprecationWithContext(aws.Context, *ec2.EnableImageDeprecationInput, ...request.Option) (*ec2.EnableImageDeprecationOutput, error) EnableImageDeprecationRequest(*ec2.EnableImageDeprecationInput) (*request.Request, *ec2.EnableImageDeprecationOutput) + EnableImageDeregistrationProtection(*ec2.EnableImageDeregistrationProtectionInput) (*ec2.EnableImageDeregistrationProtectionOutput, error) + EnableImageDeregistrationProtectionWithContext(aws.Context, *ec2.EnableImageDeregistrationProtectionInput, ...request.Option) (*ec2.EnableImageDeregistrationProtectionOutput, error) + EnableImageDeregistrationProtectionRequest(*ec2.EnableImageDeregistrationProtectionInput) (*request.Request, *ec2.EnableImageDeregistrationProtectionOutput) + EnableIpamOrganizationAdminAccount(*ec2.EnableIpamOrganizationAdminAccountInput) (*ec2.EnableIpamOrganizationAdminAccountOutput, error) EnableIpamOrganizationAdminAccountWithContext(aws.Context, *ec2.EnableIpamOrganizationAdminAccountInput, ...request.Option) (*ec2.EnableIpamOrganizationAdminAccountOutput, error) EnableIpamOrganizationAdminAccountRequest(*ec2.EnableIpamOrganizationAdminAccountInput) (*request.Request, *ec2.EnableIpamOrganizationAdminAccountOutput) diff --git a/service/pi/api.go b/service/pi/api.go index d61557d6602..50bfa29d9c3 100644 --- a/service/pi/api.go +++ b/service/pi/api.go @@ -643,7 +643,8 @@ func (c *PI) GetResourceMetricsRequest(input *GetResourceMetricsInput) (req *req // // Retrieve Performance Insights metrics for a set of data sources over a time // period. You can provide specific dimension groups and dimensions, and provide -// aggregation and filtering criteria for each group. +// filtering criteria for each group. You must specify an aggregate function +// for each metric. // // Each response element returns a maximum of 500 bytes. For larger elements, // such as SQL statements, only the first 500 bytes are returned. @@ -3142,7 +3143,10 @@ type GetResourceMetricsInput struct { MaxResults *int64 `type:"integer"` // An array of one or more queries to perform. Each query must specify a Performance - // Insights metric, and can optionally specify aggregation and filtering criteria. + // Insights metric and specify an aggregate function, and you can provide filtering + // criteria. You must append the aggregate function to the metric. For example, + // to find the average for the metric db.load you must use db.load.avg. Valid + // values for aggregate functions include .avg, .min, .max, and .sum. // // MetricQueries is a required field MetricQueries []*MetricQuery `min:"1" type:"list" required:"true"` @@ -4278,11 +4282,14 @@ func (s *MetricKeyDataPoints) SetKey(v *ResponseResourceMetricKey) *MetricKeyDat return s } -// A single query to be processed. You must provide the metric to query. If -// no other parameters are specified, Performance Insights returns all data -// points for the specified metric. Optionally, you can request that the data -// points be aggregated by dimension group (GroupBy), and return only those -// data points that match your criteria (Filter). +// A single query to be processed. You must provide the metric to query and +// append an aggregate function to the metric. For example, to find the average +// for the metric db.load you must use db.load.avg. Valid values for aggregate +// functions include .avg, .min, .max, and .sum. If no other parameters are +// specified, Performance Insights returns all data points for the specified +// metric. Optionally, you can request that the data points be aggregated by +// dimension group (GroupBy), and return only those data points that match your +// criteria (Filter). type MetricQuery struct { _ struct{} `type:"structure"` @@ -4315,6 +4322,10 @@ type MetricQuery struct { // counters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS) // in the Amazon Aurora User Guide. // + // * The counter metrics listed in Performance Insights operating system + // counters (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS) + // in the Amazon RDS User Guide. + // // If the number of active sessions is less than an internal Performance Insights // threshold, db.load.avg and db.sampledload.avg are the same value. If the // number of active sessions is greater than the internal threshold, Performance @@ -4658,6 +4669,10 @@ type ResponseResourceMetricKey struct { // counters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS) // in the Amazon Aurora User Guide. // + // * The counter metrics listed in Performance Insights operating system + // counters (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.OS) + // in the Amazon RDS User Guide. + // // If the number of active sessions is less than an internal Performance Insights // threshold, db.load.avg and db.sampledload.avg are the same value. If the // number of active sessions is greater than the internal threshold, Performance diff --git a/service/rds/api.go b/service/rds/api.go index 670ea8b45f2..10b608b6bcc 100644 --- a/service/rds/api.go +++ b/service/rds/api.go @@ -45865,7 +45865,7 @@ type ModifyActivityStreamInput struct { AuditPolicyState *string `type:"string" enum:"AuditPolicyState"` // The Amazon Resource Name (ARN) of the RDS for Oracle or Microsoft SQL Server - // DB instance. For example, arn:aws:rds:us-east-1:12345667890:instance:my-orcl-db. + // DB instance. For example, arn:aws:rds:us-east-1:12345667890:db:my-orcl-db. ResourceArn *string `type:"string"` } diff --git a/service/workspacesweb/api.go b/service/workspacesweb/api.go index ef230aa5486..02ec7452361 100644 --- a/service/workspacesweb/api.go +++ b/service/workspacesweb/api.go @@ -5563,6 +5563,9 @@ func (c *WorkSpacesWeb) UpdatePortalRequest(input *UpdatePortalInput) (req *requ // - ThrottlingException // There is a throttling error. // +// - ServiceQuotaExceededException +// The service quota has been exceeded. +// // - ValidationException // There is a validation error. // @@ -6597,6 +6600,9 @@ func (s *AssociateUserSettingsOutput) SetUserSettingsArn(v string) *AssociateUse type BrowserSettings struct { _ struct{} `type:"structure"` + // The additional encryption context of the browser settings. + AdditionalEncryptionContext map[string]*string `locationName:"additionalEncryptionContext" type:"map"` + // A list of web portal ARNs that this browser settings is associated with. AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` @@ -6612,6 +6618,10 @@ type BrowserSettings struct { // // BrowserSettingsArn is a required field BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" type:"string" required:"true"` + + // The customer managed key used to encrypt sensitive information in the browser + // settings. + CustomerManagedKey *string `locationName:"customerManagedKey" min:"20" type:"string"` } // String returns the string representation. @@ -6632,6 +6642,12 @@ func (s BrowserSettings) GoString() string { return s.String() } +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *BrowserSettings) SetAdditionalEncryptionContext(v map[string]*string) *BrowserSettings { + s.AdditionalEncryptionContext = v + return s +} + // SetAssociatedPortalArns sets the AssociatedPortalArns field's value. func (s *BrowserSettings) SetAssociatedPortalArns(v []*string) *BrowserSettings { s.AssociatedPortalArns = v @@ -6650,6 +6666,12 @@ func (s *BrowserSettings) SetBrowserSettingsArn(v string) *BrowserSettings { return s } +// SetCustomerManagedKey sets the CustomerManagedKey field's value. +func (s *BrowserSettings) SetCustomerManagedKey(v string) *BrowserSettings { + s.CustomerManagedKey = &v + return s +} + // The summary for browser settings. type BrowserSettingsSummary struct { _ struct{} `type:"structure"` @@ -6906,14 +6928,26 @@ type CookieSpecification struct { // The domain of the cookie. // + // Domain is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CookieSpecification's + // String and GoString methods. + // // Domain is a required field - Domain *string `locationName:"domain" type:"string" required:"true"` + Domain *string `locationName:"domain" type:"string" required:"true" sensitive:"true"` // The name of the cookie. - Name *string `locationName:"name" type:"string"` + // + // Name is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CookieSpecification's + // String and GoString methods. + Name *string `locationName:"name" type:"string" sensitive:"true"` // The path of the cookie. - Path *string `locationName:"path" type:"string"` + // + // Path is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CookieSpecification's + // String and GoString methods. + Path *string `locationName:"path" type:"string" sensitive:"true"` } // String returns the string representation. @@ -7067,7 +7101,7 @@ type CreateBrowserSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The custom managed key of the browser settings. @@ -7200,7 +7234,7 @@ type CreateIdentityProviderInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The identity provider details. The following list describes the provider @@ -7220,7 +7254,8 @@ type CreateIdentityProviderInput struct { // discovery URL specified by oidc_issuer key // // * For SAML providers: MetadataFile OR MetadataURL IDPSignout (boolean) - // optional + // optional IDPInit (boolean) optional RequestSigningAlgorithm (string) optional + // - Only accepts rsa-sha256 EncryptedResponses (boolean) optional // // IdentityProviderDetails is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by CreateIdentityProviderInput's @@ -7374,7 +7409,7 @@ type CreateIpAccessSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The custom managed key of the IP access settings. @@ -7558,7 +7593,7 @@ type CreateNetworkSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // One or more security groups used to control access from streaming instances @@ -7719,11 +7754,10 @@ type CreatePortalInput struct { // with your web portal. User and group access to your web portal is controlled // through your identity provider. // - // IAM_Identity_Center web portals are authenticated through AWS IAM Identity - // Center (successor to AWS Single Sign-On). They provide additional features, - // such as IdP-initiated authentication. Identity sources (including external - // identity provider integration), plus user and group access to your web portal, - // can be configured in the IAM Identity Center. + // IAM Identity Center web portals are authenticated through IAM Identity Center + // (successor to Single Sign-On). Identity sources (including external identity + // provider integration), plus user and group access to your web portal, can + // be configured in the IAM Identity Center. AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"` // A unique, case-sensitive identifier that you provide to ensure the idempotency @@ -7733,7 +7767,7 @@ type CreatePortalInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The customer managed key of the web portal. @@ -7747,6 +7781,12 @@ type CreatePortalInput struct { // String and GoString methods. DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"` + // The type and resources of the underlying instance. + InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + + // The maximum number of concurrent sessions for the portal. + MaxConcurrentSessions *int64 `locationName:"maxConcurrentSessions" min:"1" type:"integer"` + // The tags to add to the web portal. A tag is a key-value pair. Tags []*Tag `locationName:"tags" type:"list"` } @@ -7781,6 +7821,9 @@ func (s *CreatePortalInput) Validate() error { if s.DisplayName != nil && len(*s.DisplayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) } + if s.MaxConcurrentSessions != nil && *s.MaxConcurrentSessions < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentSessions", 1)) + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -7828,6 +7871,18 @@ func (s *CreatePortalInput) SetDisplayName(v string) *CreatePortalInput { return s } +// SetInstanceType sets the InstanceType field's value. +func (s *CreatePortalInput) SetInstanceType(v string) *CreatePortalInput { + s.InstanceType = &v + return s +} + +// SetMaxConcurrentSessions sets the MaxConcurrentSessions field's value. +func (s *CreatePortalInput) SetMaxConcurrentSessions(v int64) *CreatePortalInput { + s.MaxConcurrentSessions = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreatePortalInput) SetTags(v []*Tag) *CreatePortalInput { s.Tags = v @@ -7894,7 +7949,7 @@ type CreateTrustStoreInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The tags to add to the trust store. A tag is a key-value pair. @@ -8006,7 +8061,7 @@ type CreateUserAccessLoggingSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ARN of the Kinesis stream. @@ -8129,7 +8184,7 @@ type CreateUserSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The configuration that specifies which cookies should be synchronized from @@ -10214,7 +10269,9 @@ type IdentityProvider struct { // discovery URL specified by oidc_issuer key jwks_uri if not available from // discovery URL specified by oidc_issuer key // - // * For SAML providers: MetadataFile OR MetadataURL IDPSignout optional + // * For SAML providers: MetadataFile OR MetadataURL IDPSignout (boolean) + // optional IDPInit (boolean) optional RequestSigningAlgorithm (string) optional + // - Only accepts rsa-sha256 EncryptedResponses (boolean) optional // // IdentityProviderDetails is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by IdentityProvider's @@ -10401,6 +10458,9 @@ func (s *InternalServerException) RequestID() string { type IpAccessSettings struct { _ struct{} `type:"structure"` + // The additional encryption context of the IP access settings. + AdditionalEncryptionContext map[string]*string `locationName:"additionalEncryptionContext" type:"map"` + // A list of web portal ARNs that this IP access settings resource is associated // with. AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` @@ -10408,6 +10468,10 @@ type IpAccessSettings struct { // The creation date timestamp of the IP access settings. CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + // The customer managed key used to encrypt sensitive information in the IP + // access settings. + CustomerManagedKey *string `locationName:"customerManagedKey" min:"20" type:"string"` + // The description of the IP access settings. // // Description is a sensitive parameter and its value will be @@ -10453,6 +10517,12 @@ func (s IpAccessSettings) GoString() string { return s.String() } +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *IpAccessSettings) SetAdditionalEncryptionContext(v map[string]*string) *IpAccessSettings { + s.AdditionalEncryptionContext = v + return s +} + // SetAssociatedPortalArns sets the AssociatedPortalArns field's value. func (s *IpAccessSettings) SetAssociatedPortalArns(v []*string) *IpAccessSettings { s.AssociatedPortalArns = v @@ -10465,6 +10535,12 @@ func (s *IpAccessSettings) SetCreationDate(v time.Time) *IpAccessSettings { return s } +// SetCustomerManagedKey sets the CustomerManagedKey field's value. +func (s *IpAccessSettings) SetCustomerManagedKey(v string) *IpAccessSettings { + s.CustomerManagedKey = &v + return s +} + // SetDescription sets the Description field's value. func (s *IpAccessSettings) SetDescription(v string) *IpAccessSettings { s.Description = &v @@ -11736,6 +11812,9 @@ func (s *NetworkSettingsSummary) SetVpcId(v string) *NetworkSettingsSummary { type Portal struct { _ struct{} `type:"structure"` + // The additional encryption context of the portal. + AdditionalEncryptionContext map[string]*string `locationName:"additionalEncryptionContext" type:"map"` + // The type of authentication integration points used when signing into the // web portal. Defaults to Standard. // @@ -11744,11 +11823,10 @@ type Portal struct { // with your web portal. User and group access to your web portal is controlled // through your identity provider. // - // IAM_Identity_Center web portals are authenticated through AWS IAM Identity - // Center (successor to AWS Single Sign-On). They provide additional features, - // such as IdP-initiated authentication. Identity sources (including external - // identity provider integration), plus user and group access to your web portal, - // can be configured in the IAM Identity Center. + // IAM Identity Center web portals are authenticated through IAM Identity Center + // (successor to Single Sign-On). Identity sources (including external identity + // provider integration), plus user and group access to your web portal, can + // be configured in the IAM Identity Center. AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"` // The ARN of the browser settings that is associated with this web portal. @@ -11760,6 +11838,9 @@ type Portal struct { // The creation date of the web portal. CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + // The customer managed key used to encrypt sensitive information in the portal. + CustomerManagedKey *string `locationName:"customerManagedKey" min:"20" type:"string"` + // The name of the web portal. // // DisplayName is a sensitive parameter and its value will be @@ -11767,9 +11848,15 @@ type Portal struct { // String and GoString methods. DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"` + // The type and resources of the underlying instance. + InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + // The ARN of the IP access settings. IpAccessSettingsArn *string `locationName:"ipAccessSettingsArn" min:"20" type:"string"` + // The maximum number of concurrent sessions for the portal. + MaxConcurrentSessions *int64 `locationName:"maxConcurrentSessions" min:"1" type:"integer"` + // The ARN of the network settings that is associated with the web portal. NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string"` @@ -11820,6 +11907,12 @@ func (s Portal) GoString() string { return s.String() } +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *Portal) SetAdditionalEncryptionContext(v map[string]*string) *Portal { + s.AdditionalEncryptionContext = v + return s +} + // SetAuthenticationType sets the AuthenticationType field's value. func (s *Portal) SetAuthenticationType(v string) *Portal { s.AuthenticationType = &v @@ -11844,18 +11937,36 @@ func (s *Portal) SetCreationDate(v time.Time) *Portal { return s } +// SetCustomerManagedKey sets the CustomerManagedKey field's value. +func (s *Portal) SetCustomerManagedKey(v string) *Portal { + s.CustomerManagedKey = &v + return s +} + // SetDisplayName sets the DisplayName field's value. func (s *Portal) SetDisplayName(v string) *Portal { s.DisplayName = &v return s } +// SetInstanceType sets the InstanceType field's value. +func (s *Portal) SetInstanceType(v string) *Portal { + s.InstanceType = &v + return s +} + // SetIpAccessSettingsArn sets the IpAccessSettingsArn field's value. func (s *Portal) SetIpAccessSettingsArn(v string) *Portal { s.IpAccessSettingsArn = &v return s } +// SetMaxConcurrentSessions sets the MaxConcurrentSessions field's value. +func (s *Portal) SetMaxConcurrentSessions(v int64) *Portal { + s.MaxConcurrentSessions = &v + return s +} + // SetNetworkSettingsArn sets the NetworkSettingsArn field's value. func (s *Portal) SetNetworkSettingsArn(v string) *Portal { s.NetworkSettingsArn = &v @@ -11922,11 +12033,10 @@ type PortalSummary struct { // with your web portal. User and group access to your web portal is controlled // through your identity provider. // - // IAM_Identity_Center web portals are authenticated through AWS IAM Identity - // Center (successor to AWS Single Sign-On). They provide additional features, - // such as IdP-initiated authentication. Identity sources (including external - // identity provider integration), plus user and group access to your web portal, - // can be configured in the IAM Identity Center. + // IAM Identity Center web portals are authenticated through IAM Identity Center + // (successor to Single Sign-On). Identity sources (including external identity + // provider integration), plus user and group access to your web portal, can + // be configured in the IAM Identity Center. AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"` // The ARN of the browser settings that is associated with the web portal. @@ -11945,9 +12055,15 @@ type PortalSummary struct { // String and GoString methods. DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"` + // The type and resources of the underlying instance. + InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + // The ARN of the IP access settings. IpAccessSettingsArn *string `locationName:"ipAccessSettingsArn" min:"20" type:"string"` + // The maximum number of concurrent sessions for the portal. + MaxConcurrentSessions *int64 `locationName:"maxConcurrentSessions" min:"1" type:"integer"` + // The ARN of the network settings that is associated with the web portal. NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string"` @@ -12025,12 +12141,24 @@ func (s *PortalSummary) SetDisplayName(v string) *PortalSummary { return s } +// SetInstanceType sets the InstanceType field's value. +func (s *PortalSummary) SetInstanceType(v string) *PortalSummary { + s.InstanceType = &v + return s +} + // SetIpAccessSettingsArn sets the IpAccessSettingsArn field's value. func (s *PortalSummary) SetIpAccessSettingsArn(v string) *PortalSummary { s.IpAccessSettingsArn = &v return s } +// SetMaxConcurrentSessions sets the MaxConcurrentSessions field's value. +func (s *PortalSummary) SetMaxConcurrentSessions(v int64) *PortalSummary { + s.MaxConcurrentSessions = &v + return s +} + // SetNetworkSettingsArn sets the NetworkSettingsArn field's value. func (s *PortalSummary) SetNetworkSettingsArn(v string) *PortalSummary { s.NetworkSettingsArn = &v @@ -12307,7 +12435,7 @@ type TagResourceInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ARN of the resource. @@ -12739,7 +12867,7 @@ type UpdateBrowserSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` } @@ -12844,7 +12972,7 @@ type UpdateIdentityProviderInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ARN of the identity provider. @@ -12869,7 +12997,8 @@ type UpdateIdentityProviderInput struct { // discovery URL specified by oidc_issuer key // // * For SAML providers: MetadataFile OR MetadataURL IDPSignout (boolean) - // optional + // optional IDPInit (boolean) optional RequestSigningAlgorithm (string) optional + // - Only accepts rsa-sha256 EncryptedResponses (boolean) optional // // IdentityProviderDetails is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdateIdentityProviderInput's @@ -13000,7 +13129,7 @@ type UpdateIpAccessSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The description of the IP access settings. @@ -13159,7 +13288,7 @@ type UpdateNetworkSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ARN of the network settings. @@ -13300,11 +13429,10 @@ type UpdatePortalInput struct { // with your web portal. User and group access to your web portal is controlled // through your identity provider. // - // IAM_Identity_Center web portals are authenticated through AWS IAM Identity - // Center (successor to AWS Single Sign-On). They provide additional features, - // such as IdP-initiated authentication. Identity sources (including external - // identity provider integration), plus user and group access to your web portal, - // can be configured in the IAM Identity Center. + // IAM Identity Center web portals are authenticated through IAM Identity Center + // (successor to Single Sign-On). Identity sources (including external identity + // provider integration), plus user and group access to your web portal, can + // be configured in the IAM Identity Center. AuthenticationType *string `locationName:"authenticationType" type:"string" enum:"AuthenticationType"` // The name of the web portal. This is not visible to users who log into the @@ -13315,6 +13443,12 @@ type UpdatePortalInput struct { // String and GoString methods. DisplayName *string `locationName:"displayName" min:"1" type:"string" sensitive:"true"` + // The type and resources of the underlying instance. + InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` + + // The maximum number of concurrent sessions for the portal. + MaxConcurrentSessions *int64 `locationName:"maxConcurrentSessions" min:"1" type:"integer"` + // The ARN of the web portal. // // PortalArn is a required field @@ -13345,6 +13479,9 @@ func (s *UpdatePortalInput) Validate() error { if s.DisplayName != nil && len(*s.DisplayName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) } + if s.MaxConcurrentSessions != nil && *s.MaxConcurrentSessions < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentSessions", 1)) + } if s.PortalArn == nil { invalidParams.Add(request.NewErrParamRequired("PortalArn")) } @@ -13370,6 +13507,18 @@ func (s *UpdatePortalInput) SetDisplayName(v string) *UpdatePortalInput { return s } +// SetInstanceType sets the InstanceType field's value. +func (s *UpdatePortalInput) SetInstanceType(v string) *UpdatePortalInput { + s.InstanceType = &v + return s +} + +// SetMaxConcurrentSessions sets the MaxConcurrentSessions field's value. +func (s *UpdatePortalInput) SetMaxConcurrentSessions(v int64) *UpdatePortalInput { + s.MaxConcurrentSessions = &v + return s +} + // SetPortalArn sets the PortalArn field's value. func (s *UpdatePortalInput) SetPortalArn(v string) *UpdatePortalInput { s.PortalArn = &v @@ -13423,7 +13572,7 @@ type UpdateTrustStoreInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ARN of the trust store. @@ -13536,7 +13685,7 @@ type UpdateUserAccessLoggingSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The ARN of the Kinesis stream. @@ -13649,7 +13798,7 @@ type UpdateUserSettingsInput struct { // original successful request. // // If you do not specify a client token, one is automatically generated by the - // AWS SDK. + // Amazon Web Services SDK. ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` // The configuration that specifies which cookies should be synchronized from @@ -13935,6 +14084,9 @@ func (s *UserAccessLoggingSettingsSummary) SetUserAccessLoggingSettingsArn(v str type UserSettings struct { _ struct{} `type:"structure"` + // The additional encryption context of the user settings. + AdditionalEncryptionContext map[string]*string `locationName:"additionalEncryptionContext" type:"map"` + // A list of web portal ARNs that this user settings is associated with. AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` @@ -13950,6 +14102,10 @@ type UserSettings struct { // local device. CopyAllowed *string `locationName:"copyAllowed" type:"string" enum:"EnabledType"` + // The customer managed key used to encrypt sensitive information in the user + // settings. + CustomerManagedKey *string `locationName:"customerManagedKey" min:"20" type:"string"` + // The amount of time that a streaming session remains active after users disconnect. DisconnectTimeoutInMinutes *int64 `locationName:"disconnectTimeoutInMinutes" min:"1" type:"integer"` @@ -13996,6 +14152,12 @@ func (s UserSettings) GoString() string { return s.String() } +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *UserSettings) SetAdditionalEncryptionContext(v map[string]*string) *UserSettings { + s.AdditionalEncryptionContext = v + return s +} + // SetAssociatedPortalArns sets the AssociatedPortalArns field's value. func (s *UserSettings) SetAssociatedPortalArns(v []*string) *UserSettings { s.AssociatedPortalArns = v @@ -14014,6 +14176,12 @@ func (s *UserSettings) SetCopyAllowed(v string) *UserSettings { return s } +// SetCustomerManagedKey sets the CustomerManagedKey field's value. +func (s *UserSettings) SetCustomerManagedKey(v string) *UserSettings { + s.CustomerManagedKey = &v + return s +} + // SetDisconnectTimeoutInMinutes sets the DisconnectTimeoutInMinutes field's value. func (s *UserSettings) SetDisconnectTimeoutInMinutes(v int64) *UserSettings { s.DisconnectTimeoutInMinutes = &v @@ -14363,6 +14531,26 @@ func IdentityProviderType_Values() []string { } } +const ( + // InstanceTypeStandardRegular is a InstanceType enum value + InstanceTypeStandardRegular = "standard.regular" + + // InstanceTypeStandardLarge is a InstanceType enum value + InstanceTypeStandardLarge = "standard.large" + + // InstanceTypeStandardXlarge is a InstanceType enum value + InstanceTypeStandardXlarge = "standard.xlarge" +) + +// InstanceType_Values returns all elements of the InstanceType enum +func InstanceType_Values() []string { + return []string{ + InstanceTypeStandardRegular, + InstanceTypeStandardLarge, + InstanceTypeStandardXlarge, + } +} + const ( // PortalStatusIncomplete is a PortalStatus enum value PortalStatusIncomplete = "Incomplete"