From 3ab1e0dae15787e5873eeccb9bc252544904c34d Mon Sep 17 00:00:00 2001 From: AWS SDK Swift Automation Date: Mon, 19 Aug 2024 18:05:09 +0000 Subject: [PATCH 1/3] Update API model --- codegen/sdk-codegen/aws-models/bedrock.json | 873 +++++++++++++++++- codegen/sdk-codegen/aws-models/codebuild.json | 36 + codegen/sdk-codegen/aws-models/deadline.json | 131 +-- codegen/sdk-codegen/aws-models/lambda.json | 187 +++- codegen/sdk-codegen/aws-models/ssm-sap.json | 66 +- 5 files changed, 1163 insertions(+), 130 deletions(-) diff --git a/codegen/sdk-codegen/aws-models/bedrock.json b/codegen/sdk-codegen/aws-models/bedrock.json index 3bd7a912472..70cfd2f9e27 100644 --- a/codegen/sdk-codegen/aws-models/bedrock.json +++ b/codegen/sdk-codegen/aws-models/bedrock.json @@ -36,6 +36,9 @@ { "target": "com.amazonaws.bedrock#ModelCopyResource" }, + { + "target": "com.amazonaws.bedrock#ModelInvocationJobResource" + }, { "target": "com.amazonaws.bedrock#ModelResource" }, @@ -1465,6 +1468,124 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrock#CreateModelInvocationJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrock#CreateModelInvocationJobRequest" + }, + "output": { + "target": "com.amazonaws.bedrock#CreateModelInvocationJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrock#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrock#ConflictException" + }, + { + "target": "com.amazonaws.bedrock#InternalServerException" + }, + { + "target": "com.amazonaws.bedrock#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrock#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.bedrock#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrock#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a job to invoke a model on multiple prompts (batch inference). Format your data according to Format your inference data and upload it to an Amazon S3 bucket. For more information, see Create a batch inference job.

\n

The response returns a jobArn that you can use to stop or get details about the job. You can check the status of the job by sending a GetModelCustomizationJob request.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/model-invocation-job" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.bedrock#CreateModelInvocationJobRequest": { + "type": "structure", + "members": { + "jobName": { + "target": "com.amazonaws.bedrock#ModelInvocationJobName", + "traits": { + "smithy.api#documentation": "

A name to give the batch inference job.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "com.amazonaws.bedrock#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service role with permissions to carry out and manage batch inference. You can use the console to create a default service role or follow the steps at Create a service role for batch inference.

", + "smithy.api#required": {} + } + }, + "clientRequestToken": { + "target": "com.amazonaws.bedrock#ModelInvocationIdempotencyToken", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#idempotencyToken": {} + } + }, + "modelId": { + "target": "com.amazonaws.bedrock#ModelId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the foundation model to use for the batch inference job.

", + "smithy.api#required": {} + } + }, + "inputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobInputDataConfig", + "traits": { + "smithy.api#documentation": "

Details about the location of the input to the batch inference job.

", + "smithy.api#required": {} + } + }, + "outputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobOutputDataConfig", + "traits": { + "smithy.api#documentation": "

Details about the location of the output of the batch inference job.

", + "smithy.api#required": {} + } + }, + "timeoutDurationInHours": { + "target": "com.amazonaws.bedrock#ModelInvocationJobTimeoutDurationInHours", + "traits": { + "smithy.api#documentation": "

The number of hours after which to force the batch inference job to time out.

" + } + }, + "tags": { + "target": "com.amazonaws.bedrock#TagList", + "traits": { + "smithy.api#documentation": "

Any tags to associate with the batch inference job. For more information, see Tagging Amazon Bedrock resources.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrock#CreateModelInvocationJobResponse": { + "type": "structure", + "members": { + "jobArn": { + "target": "com.amazonaws.bedrock#ModelInvocationJobArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch inference job.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrock#CreateProvisionedModelThroughput": { "type": "operation", "input": { @@ -3500,6 +3621,155 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrock#GetModelInvocationJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrock#GetModelInvocationJobRequest" + }, + "output": { + "target": "com.amazonaws.bedrock#GetModelInvocationJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrock#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrock#InternalServerException" + }, + { + "target": "com.amazonaws.bedrock#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrock#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrock#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets details about a batch inference job. For more information, see View details about a batch inference job\n

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/model-invocation-job/{jobIdentifier}" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bedrock#GetModelInvocationJobRequest": { + "type": "structure", + "members": { + "jobIdentifier": { + "target": "com.amazonaws.bedrock#ModelInvocationJobIdentifier", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch inference job.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrock#GetModelInvocationJobResponse": { + "type": "structure", + "members": { + "jobArn": { + "target": "com.amazonaws.bedrock#ModelInvocationJobArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch inference job.

", + "smithy.api#required": {} + } + }, + "jobName": { + "target": "com.amazonaws.bedrock#ModelInvocationJobName", + "traits": { + "smithy.api#documentation": "

The name of the batch inference job.

" + } + }, + "modelId": { + "target": "com.amazonaws.bedrock#ModelId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the foundation model used for model inference.

", + "smithy.api#required": {} + } + }, + "clientRequestToken": { + "target": "com.amazonaws.bedrock#ModelInvocationIdempotencyToken", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "roleArn": { + "target": "com.amazonaws.bedrock#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service role with permissions to carry out and manage batch inference. You can use the console to create a default service role or follow the steps at Create a service role for batch inference.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.bedrock#ModelInvocationJobStatus", + "traits": { + "smithy.api#documentation": "

The status of the batch inference job.

" + } + }, + "message": { + "target": "com.amazonaws.bedrock#Message", + "traits": { + "smithy.api#documentation": "

If the batch inference job failed, this field contains a message describing why the job failed.

" + } + }, + "submitTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job was submitted.

", + "smithy.api#required": {} + } + }, + "lastModifiedTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job was last modified.

" + } + }, + "endTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job ended.

" + } + }, + "inputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobInputDataConfig", + "traits": { + "smithy.api#documentation": "

Details about the location of the input to the batch inference job.

", + "smithy.api#required": {} + } + }, + "outputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobOutputDataConfig", + "traits": { + "smithy.api#documentation": "

Details about the location of the output of the batch inference job.

", + "smithy.api#required": {} + } + }, + "timeoutDurationInHours": { + "target": "com.amazonaws.bedrock#ModelInvocationJobTimeoutDurationInHours", + "traits": { + "smithy.api#documentation": "

The number of hours after which batch inference job was set to time out.

" + } + }, + "jobExpirationTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job times or timed out.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrock#GetModelInvocationLoggingConfiguration": { "type": "operation", "input": { @@ -5902,13 +6172,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.bedrock#ListProvisionedModelThroughputs": { + "com.amazonaws.bedrock#ListModelInvocationJobs": { "type": "operation", "input": { - "target": "com.amazonaws.bedrock#ListProvisionedModelThroughputsRequest" + "target": "com.amazonaws.bedrock#ListModelInvocationJobsRequest" }, "output": { - "target": "com.amazonaws.bedrock#ListProvisionedModelThroughputsResponse" + "target": "com.amazonaws.bedrock#ListModelInvocationJobsResponse" }, "errors": [ { @@ -5925,84 +6195,77 @@ } ], "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

Lists all batch inference jobs in the account. For more information, see View details about a batch inference job.

", "smithy.api#http": { "code": 200, "method": "GET", - "uri": "/provisioned-model-throughputs" + "uri": "/model-invocation-jobs" }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "provisionedModelSummaries" + "items": "invocationJobSummaries" }, "smithy.api#readonly": {} } }, - "com.amazonaws.bedrock#ListProvisionedModelThroughputsRequest": { + "com.amazonaws.bedrock#ListModelInvocationJobsRequest": { "type": "structure", "members": { - "creationTimeAfter": { + "submitTimeAfter": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

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

", - "smithy.api#httpQuery": "creationTimeAfter" + "smithy.api#documentation": "

Specify a time to filter for batch inference jobs that were submitted after the time you specify.

", + "smithy.api#httpQuery": "submitTimeAfter" } }, - "creationTimeBefore": { + "submitTimeBefore": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { - "smithy.api#documentation": "

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

", - "smithy.api#httpQuery": "creationTimeBefore" + "smithy.api#documentation": "

Specify a time to filter for batch inference jobs that were submitted before the time you specify.

", + "smithy.api#httpQuery": "submitTimeBefore" } }, "statusEquals": { - "target": "com.amazonaws.bedrock#ProvisionedModelStatus", + "target": "com.amazonaws.bedrock#ModelInvocationJobStatus", "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

Specify a status to filter for batch inference jobs whose statuses match the string you specify.

", "smithy.api#httpQuery": "statusEquals" } }, - "modelArnEquals": { - "target": "com.amazonaws.bedrock#ModelArn", - "traits": { - "smithy.api#documentation": "

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

", - "smithy.api#httpQuery": "modelArnEquals" - } - }, "nameContains": { - "target": "com.amazonaws.bedrock#ProvisionedModelName", + "target": "com.amazonaws.bedrock#ModelInvocationJobName", "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

Specify a string to filter for batch inference jobs whose names contain the string.

", "smithy.api#httpQuery": "nameContains" } }, "maxResults": { "target": "com.amazonaws.bedrock#MaxResults", "traits": { - "smithy.api#documentation": "

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\n value. To see the next batch of results, send the nextToken value in another list request.

", + "smithy.api#documentation": "

The maximum number of results to return. If there are more results than the number that you specify, a nextToken value is returned. Use the nextToken in a request to return the next batch of results.

", "smithy.api#httpQuery": "maxResults" } }, "nextToken": { "target": "com.amazonaws.bedrock#PaginationToken", "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

If there were more results than the value you specified\n in the maxResults field in a previous ListModelInvocationJobs request, the response would have returned a nextToken\n value. To see the next batch of results, send the\n nextToken value in another\n request.

", "smithy.api#httpQuery": "nextToken" } }, "sortBy": { - "target": "com.amazonaws.bedrock#SortByProvisionedModels", + "target": "com.amazonaws.bedrock#SortJobsBy", "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

An attribute by which to sort the results.

", "smithy.api#httpQuery": "sortBy" } }, "sortOrder": { "target": "com.amazonaws.bedrock#SortOrder", "traits": { - "smithy.api#documentation": "

The sort order of the results.

", + "smithy.api#documentation": "

Specifies whether to sort the results by ascending or descending order.

", "smithy.api#httpQuery": "sortOrder" } } @@ -6011,19 +6274,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.bedrock#ListProvisionedModelThroughputsResponse": { + "com.amazonaws.bedrock#ListModelInvocationJobsResponse": { "type": "structure", "members": { "nextToken": { "target": "com.amazonaws.bedrock#PaginationToken", "traits": { - "smithy.api#documentation": "

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.

" + "smithy.api#documentation": "

If there are more results than can fit in the response, a nextToken is returned. Use the nextToken in a request to return the next batch of results.

" } }, - "provisionedModelSummaries": { - "target": "com.amazonaws.bedrock#ProvisionedModelSummaries", + "invocationJobSummaries": { + "target": "com.amazonaws.bedrock#ModelInvocationJobSummaries", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

A list of items, each of which contains a summary about a batch inference job.

" } } }, @@ -6031,13 +6294,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.bedrock#ListTagsForResource": { + "com.amazonaws.bedrock#ListProvisionedModelThroughputs": { "type": "operation", "input": { - "target": "com.amazonaws.bedrock#ListTagsForResourceRequest" + "target": "com.amazonaws.bedrock#ListProvisionedModelThroughputsRequest" }, "output": { - "target": "com.amazonaws.bedrock#ListTagsForResourceResponse" + "target": "com.amazonaws.bedrock#ListProvisionedModelThroughputsResponse" }, "errors": [ { @@ -6046,9 +6309,6 @@ { "target": "com.amazonaws.bedrock#InternalServerException" }, - { - "target": "com.amazonaws.bedrock#ResourceNotFoundException" - }, { "target": "com.amazonaws.bedrock#ThrottlingException" }, @@ -6057,10 +6317,142 @@ } ], "traits": { - "smithy.api#documentation": "

List the tags associated with the specified resource.

\n

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

", + "smithy.api#documentation": "

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

", "smithy.api#http": { "code": 200, - "method": "POST", + "method": "GET", + "uri": "/provisioned-model-throughputs" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "provisionedModelSummaries" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.bedrock#ListProvisionedModelThroughputsRequest": { + "type": "structure", + "members": { + "creationTimeAfter": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "creationTimeAfter" + } + }, + "creationTimeBefore": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "creationTimeBefore" + } + }, + "statusEquals": { + "target": "com.amazonaws.bedrock#ProvisionedModelStatus", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "statusEquals" + } + }, + "modelArnEquals": { + "target": "com.amazonaws.bedrock#ModelArn", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "modelArnEquals" + } + }, + "nameContains": { + "target": "com.amazonaws.bedrock#ProvisionedModelName", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "nameContains" + } + }, + "maxResults": { + "target": "com.amazonaws.bedrock#MaxResults", + "traits": { + "smithy.api#documentation": "

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\n value. To see the next batch of results, send the nextToken value in another list request.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.bedrock#PaginationToken", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "nextToken" + } + }, + "sortBy": { + "target": "com.amazonaws.bedrock#SortByProvisionedModels", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#httpQuery": "sortBy" + } + }, + "sortOrder": { + "target": "com.amazonaws.bedrock#SortOrder", + "traits": { + "smithy.api#documentation": "

The sort order of the results.

", + "smithy.api#httpQuery": "sortOrder" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrock#ListProvisionedModelThroughputsResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.bedrock#PaginationToken", + "traits": { + "smithy.api#documentation": "

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.

" + } + }, + "provisionedModelSummaries": { + "target": "com.amazonaws.bedrock#ProvisionedModelSummaries", + "traits": { + "smithy.api#documentation": "

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

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.bedrock#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrock#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.bedrock#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrock#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrock#InternalServerException" + }, + { + "target": "com.amazonaws.bedrock#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrock#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrock#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

List the tags associated with the specified resource.

\n

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

", + "smithy.api#http": { + "code": 200, + "method": "POST", "uri": "/listTagsForResource" } } @@ -6164,6 +6556,15 @@ } } }, + "com.amazonaws.bedrock#Message": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 2048 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrock#MetricFloat": { "type": "float" }, @@ -6473,6 +6874,16 @@ "target": "com.amazonaws.bedrock#ModelCustomization" } }, + "com.amazonaws.bedrock#ModelId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#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]{12}$)|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}$)))|([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][_-]?)+)$" + } + }, "com.amazonaws.bedrock#ModelIdentifier": { "type": "string", "traits": { @@ -6483,6 +6894,310 @@ "smithy.api#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][_-]?)+)$" } }, + "com.amazonaws.bedrock#ModelInvocationIdempotencyToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]{1,256}(-*[a-zA-Z0-9]){0,256}$" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 1011 + }, + "smithy.api#pattern": "^(arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:model-invocation-job/[a-z0-9]{12})$" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 1011 + }, + "smithy.api#pattern": "^((arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:model-invocation-job/)?[a-z0-9]{12})$" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobInputDataConfig": { + "type": "union", + "members": { + "s3InputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobS3InputDataConfig", + "traits": { + "smithy.api#documentation": "

Contains the configuration of the S3 location of the input data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about the location of the input to the batch inference job.

" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 63 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]{1,63}(-*[a-zA-Z0-9\\+\\-\\.]){0,63}$" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobOutputDataConfig": { + "type": "union", + "members": { + "s3OutputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobS3OutputDataConfig", + "traits": { + "smithy.api#documentation": "

Contains the configuration of the S3 location of the output data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the configuration of the S3 location of the output data.

" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.bedrock#CreateModelInvocationJob" + }, + { + "target": "com.amazonaws.bedrock#GetModelInvocationJob" + }, + { + "target": "com.amazonaws.bedrock#ListModelInvocationJobs" + }, + { + "target": "com.amazonaws.bedrock#StopModelInvocationJob" + } + ] + }, + "com.amazonaws.bedrock#ModelInvocationJobS3InputDataConfig": { + "type": "structure", + "members": { + "s3InputFormat": { + "target": "com.amazonaws.bedrock#S3InputFormat", + "traits": { + "smithy.api#documentation": "

The format of the input data.

" + } + }, + "s3Uri": { + "target": "com.amazonaws.bedrock#S3Uri", + "traits": { + "smithy.api#documentation": "

The S3 location of the input data.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the configuration of the S3 location of the output data.

" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobS3OutputDataConfig": { + "type": "structure", + "members": { + "s3Uri": { + "target": "com.amazonaws.bedrock#S3Uri", + "traits": { + "smithy.api#documentation": "

The S3 location of the output data.

", + "smithy.api#required": {} + } + }, + "s3EncryptionKeyId": { + "target": "com.amazonaws.bedrock#KmsKeyId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the key that encrypts the S3 location of the output data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the configuration of the S3 location of the output data.

" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobStatus": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Submitted" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InProgress" + } + }, + "COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Completed" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Failed" + } + }, + "STOPPING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Stopping" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Stopped" + } + }, + "PARTIALLY_COMPLETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PartiallyCompleted" + } + }, + "EXPIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Expired" + } + }, + "VALIDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Validating" + } + }, + "SCHEDULED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Scheduled" + } + } + } + }, + "com.amazonaws.bedrock#ModelInvocationJobSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrock#ModelInvocationJobSummary" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobSummary": { + "type": "structure", + "members": { + "jobArn": { + "target": "com.amazonaws.bedrock#ModelInvocationJobArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch inference job.

", + "smithy.api#required": {} + } + }, + "jobName": { + "target": "com.amazonaws.bedrock#ModelInvocationJobName", + "traits": { + "smithy.api#documentation": "

The name of the batch inference job.

", + "smithy.api#required": {} + } + }, + "modelId": { + "target": "com.amazonaws.bedrock#ModelId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the foundation model used for model inference.

", + "smithy.api#required": {} + } + }, + "clientRequestToken": { + "target": "com.amazonaws.bedrock#ModelInvocationIdempotencyToken", + "traits": { + "smithy.api#documentation": "

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

" + } + }, + "roleArn": { + "target": "com.amazonaws.bedrock#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service role with permissions to carry out and manage batch inference. You can use the console to create a default service role or follow the steps at Create a service role for batch inference.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.bedrock#ModelInvocationJobStatus", + "traits": { + "smithy.api#documentation": "

The status of the batch inference job.

" + } + }, + "message": { + "target": "com.amazonaws.bedrock#Message", + "traits": { + "smithy.api#documentation": "

If the batch inference job failed, this field contains a message describing why the job failed.

" + } + }, + "submitTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job was submitted.

", + "smithy.api#required": {} + } + }, + "lastModifiedTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job was last modified.

" + } + }, + "endTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job ended.

" + } + }, + "inputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobInputDataConfig", + "traits": { + "smithy.api#documentation": "

Details about the location of the input to the batch inference job.

", + "smithy.api#required": {} + } + }, + "outputDataConfig": { + "target": "com.amazonaws.bedrock#ModelInvocationJobOutputDataConfig", + "traits": { + "smithy.api#documentation": "

Details about the location of the output of the batch inference job.

", + "smithy.api#required": {} + } + }, + "timeoutDurationInHours": { + "target": "com.amazonaws.bedrock#ModelInvocationJobTimeoutDurationInHours", + "traits": { + "smithy.api#documentation": "

The number of hours after which the batch inference job was set to time out.

" + } + }, + "jobExpirationTime": { + "target": "com.amazonaws.bedrock#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which the batch inference job times or timed out.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A summary of a batch inference job.

" + } + }, + "com.amazonaws.bedrock#ModelInvocationJobTimeoutDurationInHours": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 24, + "max": 168 + } + } + }, "com.amazonaws.bedrock#ModelModality": { "type": "enum", "members": { @@ -6824,6 +7539,7 @@ "com.amazonaws.bedrock#RoleArn": { "type": "string", "traits": { + "smithy.api#documentation": "ARN of a IAM role", "smithy.api#length": { "max": 2048 }, @@ -6851,6 +7567,17 @@ "smithy.api#documentation": "

S3 configuration for storing log data.

" } }, + "com.amazonaws.bedrock#S3InputFormat": { + "type": "enum", + "members": { + "JSONL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JSONL" + } + } + } + }, "com.amazonaws.bedrock#S3Uri": { "type": "string", "traits": { @@ -7075,6 +7802,66 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrock#StopModelInvocationJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrock#StopModelInvocationJobRequest" + }, + "output": { + "target": "com.amazonaws.bedrock#StopModelInvocationJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrock#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrock#ConflictException" + }, + { + "target": "com.amazonaws.bedrock#InternalServerException" + }, + { + "target": "com.amazonaws.bedrock#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrock#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrock#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Stops a batch inference job. You're only charged for tokens that were already processed. For more information, see Stop a batch inference job.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/model-invocation-job/{jobIdentifier}/stop" + } + } + }, + "com.amazonaws.bedrock#StopModelInvocationJobRequest": { + "type": "structure", + "members": { + "jobIdentifier": { + "target": "com.amazonaws.bedrock#ModelInvocationJobIdentifier", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch inference job to stop.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrock#StopModelInvocationJobResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrock#SubnetId": { "type": "string", "traits": { @@ -7238,7 +8025,7 @@ "min": 20, "max": 1011 }, - "smithy.api#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}$)))" + "smithy.api#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})$)|(:guardrail/[a-z0-9]+$)|(:(provisioned-model|model-invocation-job|model-evaluation-job|evaluation-job|model-import-job|imported-model)/[a-z0-9]{12}$)))" } }, "com.amazonaws.bedrock#TaggingResource": { diff --git a/codegen/sdk-codegen/aws-models/codebuild.json b/codegen/sdk-codegen/aws-models/codebuild.json index d9230e92cfb..8b5d1397699 100644 --- a/codegen/sdk-codegen/aws-models/codebuild.json +++ b/codegen/sdk-codegen/aws-models/codebuild.json @@ -2902,6 +2902,12 @@ "vpcConfig": { "target": "com.amazonaws.codebuild#VpcConfig" }, + "imageId": { + "target": "com.amazonaws.codebuild#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The Amazon Machine Image (AMI) of the compute fleet.

" + } + }, "fleetServiceRole": { "target": "com.amazonaws.codebuild#NonEmptyString", "traits": { @@ -3952,6 +3958,12 @@ "traits": { "smithy.api#enumValue": "ARM_LAMBDA_CONTAINER" } + }, + "MAC_ARM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MAC_ARM" + } } } }, @@ -4133,6 +4145,12 @@ "vpcConfig": { "target": "com.amazonaws.codebuild#VpcConfig" }, + "imageId": { + "target": "com.amazonaws.codebuild#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The Amazon Machine Image (AMI) of the compute fleet.

" + } + }, "fleetServiceRole": { "target": "com.amazonaws.codebuild#NonEmptyString", "traits": { @@ -4190,6 +4208,18 @@ "traits": { "smithy.api#enumValue": "ACTION_REQUIRED" } + }, + "PENDING_DELETION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_DELETION" + } + }, + "INSUFFICIENT_CAPACITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_CAPACITY" + } } } }, @@ -8549,6 +8579,12 @@ "vpcConfig": { "target": "com.amazonaws.codebuild#VpcConfig" }, + "imageId": { + "target": "com.amazonaws.codebuild#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The Amazon Machine Image (AMI) of the compute fleet.

" + } + }, "fleetServiceRole": { "target": "com.amazonaws.codebuild#NonEmptyString", "traits": { diff --git a/codegen/sdk-codegen/aws-models/deadline.json b/codegen/sdk-codegen/aws-models/deadline.json index 18c8b767043..542e8302837 100644 --- a/codegen/sdk-codegen/aws-models/deadline.json +++ b/codegen/sdk-codegen/aws-models/deadline.json @@ -1504,7 +1504,7 @@ "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

A description for the budget action to add.

" + "smithy.api#documentation": "

A description for the budget action to add.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } } }, @@ -1683,14 +1683,17 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the budget summary to update.

", + "smithy.api#documentation": "

The display name of the budget summary to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the budget summary.

" + "smithy.api#deprecated": { + "message": "ListBudgets no longer supports description. Use GetBudget if description is needed." + }, + "smithy.api#documentation": "

The description of the budget summary.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "approximateDollarLimit": { @@ -2135,7 +2138,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the budget.

", + "smithy.api#documentation": "

The display name of the budget.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -2143,7 +2146,7 @@ "target": "com.amazonaws.deadline#Description", "traits": { "smithy.api#default": "", - "smithy.api#documentation": "

The description of the budget.

" + "smithy.api#documentation": "

The description of the budget.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "approximateDollarLimit": { @@ -2223,7 +2226,9 @@ "aws.iam#iamAction": { "name": "CreateFarm", "documentation": "Grants permission to create a farm", - "requiredActions": [] + "requiredActions": [ + "deadline:TagResource" + ] }, "smithy.api#documentation": "

Creates a farm to allow space for queues and fleets. Farms are the space where the\n components of your renders gather and are pieced together in the cloud. Farms contain\n budgets and allow you to enforce permissions. Deadline Cloud farms are a useful container for\n large projects.

", "smithy.api#endpoint": { @@ -2251,7 +2256,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the farm.

", + "smithy.api#documentation": "

The display name of the farm.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -2259,7 +2264,7 @@ "target": "com.amazonaws.deadline#Description", "traits": { "smithy.api#default": "", - "smithy.api#documentation": "

The description of the farm.

" + "smithy.api#documentation": "

The description of the farm.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "kmsKeyArn": { @@ -2331,9 +2336,10 @@ "name": "CreateFleet", "documentation": "Grants permission to create a fleet", "requiredActions": [ - "logs:CreateLogGroup", + "deadline:TagResource", + "iam:PassRole", "identitystore:ListGroupMembershipsForMember", - "iam:PassRole" + "logs:CreateLogGroup" ] }, "smithy.api#documentation": "

Creates a fleet. Fleets gather information relating to compute, or capacity, for renders\n within your farms. You can choose to manage your own capacity or opt to have fleets fully\n managed by Deadline Cloud.

", @@ -2370,7 +2376,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the fleet.

", + "smithy.api#documentation": "

The display name of the fleet.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -2378,7 +2384,7 @@ "target": "com.amazonaws.deadline#Description", "traits": { "smithy.api#default": "", - "smithy.api#documentation": "

The description of the fleet.

" + "smithy.api#documentation": "

The description of the fleet.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "roleArn": { @@ -2471,7 +2477,7 @@ "identitystore:ListGroupMembershipsForMember" ] }, - "smithy.api#documentation": "

Creates a job. A job is a render submission submitted by a user. It contains specific\n job properties outlined as steps and tasks.

", + "smithy.api#documentation": "

Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to schedule\n and run work on available workers. For more information, see Deadline Cloud\n jobs.

", "smithy.api#endpoint": { "hostPrefix": "management." }, @@ -2527,7 +2533,7 @@ "priority": { "target": "com.amazonaws.deadline#JobPriority", "traits": { - "smithy.api#documentation": "

The priority of the job on a scale of 1 to 100. The highest priority is 1.

", + "smithy.api#documentation": "

The priority of the job on a scale of 0 to 100. The highest priority (first scheduled)\n is 100. When two jobs have the same priority, the oldest job is scheduled first.

", "smithy.api#required": {} } }, @@ -2553,7 +2559,7 @@ "target": "com.amazonaws.deadline#CreateJobTargetTaskRunStatus", "traits": { "smithy.api#default": "READY", - "smithy.api#documentation": "

The initial status of the job's tasks when they are created. Tasks that are created with\n a SUSPENDED status will not run until you update their status.

" + "smithy.api#documentation": "

The initial job status when it is created. Jobs that are created with a\n SUSPENDED status will not run until manually requeued.

" } }, "maxFailedTasksCount": { @@ -2567,7 +2573,7 @@ "target": "com.amazonaws.deadline#MaxRetriesPerTask", "traits": { "smithy.api#default": 5, - "smithy.api#documentation": "

The maximum number of retries for a job.

" + "smithy.api#documentation": "

The maximum number of retries for each task.

" } } }, @@ -2644,6 +2650,7 @@ "name": "CreateLicenseEndpoint", "documentation": "Grants permission to create a license endpoint for licensed software or products", "requiredActions": [ + "deadline:TagResource", "ec2:CreateTags", "ec2:CreateVpcEndpoint", "ec2:DescribeVpcEndpoints" @@ -2792,7 +2799,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The name that you give the monitor that is displayed in the Deadline Cloud console.

", + "smithy.api#documentation": "

The name that you give the monitor that is displayed in the Deadline Cloud console.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -2881,6 +2888,7 @@ "name": "CreateQueue", "documentation": "Grants permission to create a queue", "requiredActions": [ + "deadline:TagResource", "logs:CreateLogGroup", "identitystore:ListGroupMembershipsForMember", "iam:PassRole", @@ -3127,7 +3135,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the queue.

", + "smithy.api#documentation": "

The display name of the queue.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -3135,7 +3143,7 @@ "target": "com.amazonaws.deadline#Description", "traits": { "smithy.api#default": "", - "smithy.api#documentation": "

The description of the queue.

" + "smithy.api#documentation": "

The description of the queue.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "defaultBudgetAction": { @@ -3271,7 +3279,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the storage profile.

", + "smithy.api#documentation": "

The display name of the storage profile.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -3733,7 +3741,7 @@ "x-amz-apigw-id" ] }, - "smithy.api#documentation": "

The Amazon Web Services Deadline Cloud API provides infrastructure and centralized management for your\n projects. Use the Deadline Cloud API to onboard users, assign projects, and attach permissions\n specific to their job function.

\n

With Deadline Cloud, content production teams can deploy resources for their workforce securely\n in the cloud, reducing the costs of added physical infrastructure. Keep your content\n production operations secure, while allowing your contributors to access the tools they\n need, such as scalable high-speed storage, licenses, and cost management services.

", + "smithy.api#documentation": "

The Amazon Web Services Deadline Cloud API provides infrastructure and centralized management for your\n projects. Use the Deadline Cloud API to onboard users, assign projects, and attach permissions\n specific to their job function.

\n

With Deadline Cloud, content production teams can deploy resources for their workforce\n securely in the cloud, reducing the costs of added physical infrastructure. Keep your\n content production operations secure, while allowing your contributors to access the tools\n they need, such as scalable high-speed storage, licenses, and cost management\n services.

", "smithy.api#title": "AWSDeadlineCloud", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -4924,7 +4932,7 @@ "identitystore:ListGroupMembershipsForMember" ] }, - "smithy.api#documentation": "

Deletes a queue.

", + "smithy.api#documentation": "

Deletes a queue.

\n \n

You can't recover the jobs in a queue if you delete the queue. Deleting the queue\n also deletes the jobs in that queue.

\n
", "smithy.api#endpoint": { "hostPrefix": "management." }, @@ -6179,7 +6187,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the farm.

", + "smithy.api#documentation": "

The display name of the farm.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -6642,7 +6650,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the fleet summary to update.

", + "smithy.api#documentation": "

The display name of the fleet summary to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -6830,14 +6838,14 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the budget.

", + "smithy.api#documentation": "

The display name of the budget.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the budget.

" + "smithy.api#documentation": "

The description of the budget.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "approximateDollarLimit": { @@ -6979,14 +6987,14 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the farm.

", + "smithy.api#documentation": "

The display name of the farm.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the farm.

" + "smithy.api#documentation": "

The description of the farm.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "kmsKeyArn": { @@ -7155,14 +7163,14 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the fleet.

", + "smithy.api#documentation": "

The display name of the fleet.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the fleet.

" + "smithy.api#documentation": "

The description of the fleet.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "status": { @@ -7453,7 +7461,7 @@ "lifecycleStatus": { "target": "com.amazonaws.deadline#JobLifecycleStatus", "traits": { - "smithy.api#documentation": "

The life cycle status for the job.

", + "smithy.api#documentation": "

The life cycle status for the job.

", "smithy.api#required": {} } }, @@ -7560,7 +7568,7 @@ "description": { "target": "com.amazonaws.deadline#JobDescription", "traits": { - "smithy.api#documentation": "

The description of the job.

" + "smithy.api#documentation": "

The description of the job.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } } }, @@ -7812,7 +7820,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The name used to identify the monitor on the Deadline Cloud console.

", + "smithy.api#documentation": "

The name used to identify the monitor on the Deadline Cloud console.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -8303,14 +8311,14 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the queue.

", + "smithy.api#documentation": "

The display name of the queue.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the queue.

" + "smithy.api#documentation": "

The description of the queue.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "farmId": { @@ -8837,7 +8845,7 @@ "status": { "target": "com.amazonaws.deadline#SessionsStatisticsAggregationStatus", "traits": { - "smithy.api#documentation": "

The status of the aggregated results.

", + "smithy.api#documentation": "

The status of the aggregated results. An aggregation may fail or time out if the results\n are too large. If this happens, you can call the\n StartSessionsStatisticsAggregation operation after you reduce the\n aggregation time frame, reduce the number of queues or fleets in the aggregation, or\n increase the period length.

\n

If you call the StartSessionsStatisticsAggregation operation when the\n status is IN_PROGRESS, you will receive a\n ThrottlingException.

", "smithy.api#required": {} } }, @@ -9046,7 +9054,7 @@ "description": { "target": "com.amazonaws.deadline#StepDescription", "traits": { - "smithy.api#documentation": "

The description of the step.

" + "smithy.api#documentation": "

The description of the step.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } } }, @@ -9189,7 +9197,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the storage profile connected to a queue.

", + "smithy.api#documentation": "

The display name of the storage profile connected to a queue.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -9248,7 +9256,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the storage profile.

", + "smithy.api#documentation": "

The display name of the storage profile.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -10503,7 +10511,7 @@ "taskRunStatus": { "target": "com.amazonaws.deadline#TaskRunStatus", "traits": { - "smithy.api#documentation": "

task run status for the job.

\n " + "smithy.api#documentation": "

The task run status for the job.

\n " } }, "targetTaskRunStatus": { @@ -11472,7 +11480,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display names of a list of fleets.

", + "smithy.api#documentation": "

The display names of a list of fleets.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#httpQuery": "displayName" } }, @@ -12468,7 +12476,7 @@ "principalId": { "target": "com.amazonaws.deadline#IdentityCenterPrincipalId", "traits": { - "smithy.api#documentation": "

The principal ID. This filter is only valid when using Nimble Studio credentials and\n should match the user ID in the credentials of the caller.

", + "smithy.api#documentation": "

The principal IDs to include in the list of queues.

", "smithy.api#httpQuery": "principalId" } }, @@ -14227,7 +14235,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The name of the monitor that displays on the Deadline Cloud console.

", + "smithy.api#documentation": "

The name of the monitor that displays on the Deadline Cloud console.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -14992,7 +15000,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the queue summary to update.

", + "smithy.api#documentation": "

The display name of the queue summary to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -15125,7 +15133,7 @@ "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The budget action description.

" + "smithy.api#documentation": "

The budget action description.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } } }, @@ -15208,7 +15216,8 @@ "smithy.api#length": { "min": 1, "max": 63 - } + }, + "smithy.api#pattern": "^[a-zA-Z0-9-_/]+$" } }, "com.amazonaws.deadline#SearchFilterExpression": { @@ -15454,7 +15463,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 1 + "max": 5 } } }, @@ -16591,7 +16600,7 @@ "identitystore:ListGroupMembershipsForMember" ] }, - "smithy.api#documentation": "

Starts an asynchronous request for getting aggregated statistics about queues and farms.\n Get the statistics using the GetSessionsStatisticsAggregation operation.\n Statistics are available for 1 hour after you call the\n StartSessionsStatisticsAggregation operation.

", + "smithy.api#documentation": "

Starts an asynchronous request for getting aggregated statistics about queues and farms.\n Get the statistics using the GetSessionsStatisticsAggregation operation. You\n can only have one running aggregation for your Deadline Cloud farm. Call the\n GetSessionsStatisticsAggregation operation and check the\n status field to see if an aggregation is running. Statistics are available\n for 1 hour after you call the StartSessionsStatisticsAggregation\n operation.

", "smithy.api#endpoint": { "hostPrefix": "management." }, @@ -17490,7 +17499,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the storage profile summary to update.

", + "smithy.api#documentation": "

The display name of the storage profile summary to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", "smithy.api#required": {} } }, @@ -18387,13 +18396,13 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the budget to update.

" + "smithy.api#documentation": "

The display name of the budget to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the budget to update.

" + "smithy.api#documentation": "

The description of the budget to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "status": { @@ -18497,13 +18506,13 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the farm to update.

" + "smithy.api#documentation": "

The display name of the farm to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the farm to update.

" + "smithy.api#documentation": "

The description of the farm to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } } }, @@ -18597,13 +18606,13 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the fleet to update.

" + "smithy.api#documentation": "

The display name of the fleet to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the fleet to update.

" + "smithy.api#documentation": "

The description of the fleet to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "roleArn": { @@ -18678,7 +18687,7 @@ "identitystore:ListGroupMembershipsForMember" ] }, - "smithy.api#documentation": "

Updates a job.

", + "smithy.api#documentation": "

Updates a job.

\n

When you change the status of the job to ARCHIVED, the job can't be\n scheduled or archived.

\n \n

An archived jobs and its steps and tasks are deleted after 120 days. The job can't be\n recovered.

\n
", "smithy.api#endpoint": { "hostPrefix": "management." }, @@ -18763,7 +18772,7 @@ "lifecycleStatus": { "target": "com.amazonaws.deadline#UpdateJobLifecycleStatus", "traits": { - "smithy.api#documentation": "

The status of a job in its lifecycle.

" + "smithy.api#documentation": "

The status of a job in its lifecycle. When you change the status of the job to\n ARCHIVED, the job can't be scheduled or archived.

\n \n

An archived jobs and its steps and tasks are deleted after 120 days. The job can't be\n recovered.

\n
" } } }, @@ -18846,7 +18855,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The new value to use for the monitor's display name.

" + "smithy.api#documentation": "

The new value to use for the monitor's display name.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "roleArn": { @@ -19174,13 +19183,13 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the queue to update.

" + "smithy.api#documentation": "

The display name of the queue to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "description": { "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The description of the queue to update.

" + "smithy.api#documentation": "

The description of the queue to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "defaultBudgetAction": { @@ -19537,7 +19546,7 @@ "displayName": { "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The display name of the storage profile to update.

" + "smithy.api#documentation": "

The display name of the storage profile to update.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, "osFamily": { diff --git a/codegen/sdk-codegen/aws-models/lambda.json b/codegen/sdk-codegen/aws-models/lambda.json index 656c0e95535..1a2a4476d7f 100644 --- a/codegen/sdk-codegen/aws-models/lambda.json +++ b/codegen/sdk-codegen/aws-models/lambda.json @@ -111,6 +111,9 @@ { "target": "com.amazonaws.lambda#GetFunctionEventInvokeConfig" }, + { + "target": "com.amazonaws.lambda#GetFunctionRecursionConfig" + }, { "target": "com.amazonaws.lambda#GetFunctionUrlConfig" }, @@ -192,6 +195,9 @@ { "target": "com.amazonaws.lambda#PutFunctionEventInvokeConfig" }, + { + "target": "com.amazonaws.lambda#PutFunctionRecursionConfig" + }, { "target": "com.amazonaws.lambda#PutProvisionedConcurrencyConfig" }, @@ -2560,7 +2566,7 @@ "MaximumBatchingWindowInSeconds": { "target": "com.amazonaws.lambda#MaximumBatchingWindowInSeconds", "traits": { - "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" + "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" } }, "ParallelizationFactor": { @@ -2729,7 +2735,7 @@ "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" + "smithy.api#documentation": "

The identifier of the function's \n runtime. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in\n an error if you're deploying a function using a container image.

\n

The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing\n functions shortly after each runtime is deprecated. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

" } }, "Role": { @@ -4318,7 +4324,7 @@ "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" + "smithy.api#documentation": "

The identifier of the function's \n runtime. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in\n an error if you're deploying a function using a container image.

\n

The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing\n functions shortly after each runtime is deprecated. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

" } }, "Role": { @@ -5396,6 +5402,67 @@ "smithy.api#input": {} } }, + "com.amazonaws.lambda#GetFunctionRecursionConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#GetFunctionRecursionConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#GetFunctionRecursionConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns your function's recursive loop detection configuration. \n

", + "smithy.api#http": { + "method": "GET", + "uri": "/2024-08-31/functions/{FunctionName}/recursion-config", + "code": 200 + } + } + }, + "com.amazonaws.lambda#GetFunctionRecursionConfigRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#UnqualifiedFunctionName", + "traits": { + "smithy.api#documentation": "

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lambda#GetFunctionRecursionConfigResponse": { + "type": "structure", + "members": { + "RecursiveLoop": { + "target": "com.amazonaws.lambda#RecursiveLoop", + "traits": { + "smithy.api#documentation": "

If your function's recursive loop detection configuration is Allow, Lambda doesn't take any action when it \n detects your function being invoked as part of a recursive loop.

\n

If your function's recursive loop detection configuration is Terminate, Lambda stops your function being \n invoked and notifies you when it detects your function being invoked as part of a recursive loop.

\n

By default, Lambda sets your function's configuration to Terminate. You can update this \n configuration using the PutFunctionRecursionConfig action.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lambda#GetFunctionRequest": { "type": "structure", "members": { @@ -5782,7 +5849,7 @@ "CompatibleRuntimes": { "target": "com.amazonaws.lambda#CompatibleRuntimes", "traits": { - "smithy.api#documentation": "

The layer's compatible runtimes.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" + "smithy.api#documentation": "

The layer's compatible runtimes.

\n

The following list includes deprecated runtimes. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

" } }, "LicenseInfo": { @@ -7296,7 +7363,7 @@ "CompatibleRuntimes": { "target": "com.amazonaws.lambda#CompatibleRuntimes", "traits": { - "smithy.api#documentation": "

The layer's compatible runtimes.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" + "smithy.api#documentation": "

The layer's compatible runtimes.

\n

The following list includes deprecated runtimes. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

" } }, "LicenseInfo": { @@ -8016,7 +8083,7 @@ "CompatibleRuntime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

A runtime identifier. For example, java21.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

", + "smithy.api#documentation": "

A runtime identifier.

\n

The following list includes deprecated runtimes. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

", "smithy.api#httpQuery": "CompatibleRuntime" } }, @@ -8114,7 +8181,7 @@ "CompatibleRuntime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

A runtime identifier. For example, java21.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

", + "smithy.api#documentation": "

A runtime identifier.

\n

The following list includes deprecated runtimes. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

", "smithy.api#httpQuery": "CompatibleRuntime" } }, @@ -8786,7 +8853,7 @@ } }, "traits": { - "smithy.api#documentation": "

The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias\n API operation to retrieve the latest RevisionId for your resource.

", + "smithy.api#documentation": "

The RevisionId provided does not match the latest RevisionId for the Lambda function or alias.

\n ", "smithy.api#error": "client", "smithy.api#httpError": 412 } @@ -9026,7 +9093,7 @@ "CompatibleRuntimes": { "target": "com.amazonaws.lambda#CompatibleRuntimes", "traits": { - "smithy.api#documentation": "

The layer's compatible runtimes.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" + "smithy.api#documentation": "

The layer's compatible runtimes.

\n

The following list includes deprecated runtimes. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

" } }, "LicenseInfo": { @@ -9334,6 +9401,77 @@ "smithy.api#input": {} } }, + "com.amazonaws.lambda#PutFunctionRecursionConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.lambda#PutFunctionRecursionConfigRequest" + }, + "output": { + "target": "com.amazonaws.lambda#PutFunctionRecursionConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.lambda#InvalidParameterValueException" + }, + { + "target": "com.amazonaws.lambda#ResourceConflictException" + }, + { + "target": "com.amazonaws.lambda#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.lambda#ServiceException" + }, + { + "target": "com.amazonaws.lambda#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Sets your function's recursive loop detection configuration.

\n

When you configure a Lambda function to output to the same service or resource that invokes the function, it's possible to create \n an infinite recursive loop. For example, a Lambda function might write a message to an Amazon Simple Queue Service (Amazon SQS) queue, which then invokes the same \n function. This invocation causes the function to write another message to the queue, which in turn invokes the function again.

\n

Lambda can detect certain types of recursive loops shortly after they occur. When Lambda detects a recursive loop and your \n function's recursive loop detection configuration is set to Terminate, it stops your function being invoked and notifies\n you.

", + "smithy.api#http": { + "method": "PUT", + "uri": "/2024-08-31/functions/{FunctionName}/recursion-config", + "code": 200 + } + } + }, + "com.amazonaws.lambda#PutFunctionRecursionConfigRequest": { + "type": "structure", + "members": { + "FunctionName": { + "target": "com.amazonaws.lambda#UnqualifiedFunctionName", + "traits": { + "smithy.api#documentation": "

The name or ARN of the Lambda function.

\n

\n Name formats\n

\n \n

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64\n characters in length.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RecursiveLoop": { + "target": "com.amazonaws.lambda#RecursiveLoop", + "traits": { + "smithy.api#documentation": "

If you set your function's recursive loop detection configuration to Allow, Lambda doesn't take any action when it \n detects your function being invoked as part of a recursive loop. We recommend that you only use this setting if your design intentionally uses a \n Lambda function to write data back to the same Amazon Web Services resource that invokes it.

\n

If you set your function's recursive loop detection configuration to Terminate, Lambda stops your function being \n invoked and notifies you when it detects your function being invoked as part of a recursive loop.

\n

By default, Lambda sets your function's configuration to Terminate.

\n \n

If your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes\n the function, then use caution and implement suitable guard rails to prevent unexpected charges being billed to\n your Amazon Web Services account. To learn more about best practices for using recursive invocation patterns, see Recursive patterns that cause\n run-away Lambda functions in Serverless Land.

\n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.lambda#PutFunctionRecursionConfigResponse": { + "type": "structure", + "members": { + "RecursiveLoop": { + "target": "com.amazonaws.lambda#RecursiveLoop", + "traits": { + "smithy.api#documentation": "

The status of your function's recursive loop detection configuration.

\n

When this value is set to Allowand Lambda detects your function being invoked as part of a recursive \n loop, it doesn't take any action.

\n

When this value is set to Terminate and Lambda detects your function being invoked as part of a recursive \n loop, it stops your function being invoked and notifies you.\n

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.lambda#PutProvisionedConcurrencyConfig": { "type": "operation", "input": { @@ -9595,6 +9733,23 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.lambda#RecursiveLoop": { + "type": "enum", + "members": { + "Allow": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Allow" + } + }, + "Terminate": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Terminate" + } + } + } + }, "com.amazonaws.lambda#RemoveLayerVersionPermission": { "type": "operation", "input": { @@ -10985,6 +11140,16 @@ "smithy.api#pattern": "^[a-zA-Z0-9-\\/*:_+=.@-]*$" } }, + "com.amazonaws.lambda#UnqualifiedFunctionName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 140 + }, + "smithy.api#pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)$" + } + }, "com.amazonaws.lambda#UnreservedConcurrentExecutions": { "type": "integer", "traits": { @@ -11304,7 +11469,7 @@ "MaximumBatchingWindowInSeconds": { "target": "com.amazonaws.lambda#MaximumBatchingWindowInSeconds", "traits": { - "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" + "smithy.api#documentation": "

The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function.\n You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds.

\n

For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default\n batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it.\n To restore the default batching window, you must create a new event source mapping.

\n

Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1.

" } }, "DestinationConfig": { @@ -11595,7 +11760,7 @@ "Runtime": { "target": "com.amazonaws.lambda#Runtime", "traits": { - "smithy.api#documentation": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

\n

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" + "smithy.api#documentation": "

The identifier of the function's \n runtime. Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in\n an error if you're deploying a function using a container image.

\n

The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing\n functions shortly after each runtime is deprecated. For more information, see\n Runtime use after deprecation.

\n

For a list of all currently supported runtimes, see\n Supported runtimes.

" } }, "DeadLetterConfig": { diff --git a/codegen/sdk-codegen/aws-models/ssm-sap.json b/codegen/sdk-codegen/aws-models/ssm-sap.json index ad96b14b1cf..fb223f76209 100644 --- a/codegen/sdk-codegen/aws-models/ssm-sap.json +++ b/codegen/sdk-codegen/aws-models/ssm-sap.json @@ -92,12 +92,24 @@ "traits": { "smithy.api#documentation": "

The status message.

" } + }, + "AssociatedApplicationArns": { + "target": "com.amazonaws.ssmsap#ApplicationArnList", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Names of the associated AWS Systems Manager for SAP\n applications.

" + } } }, "traits": { "smithy.api#documentation": "

An SAP application registered with AWS Systems Manager for SAP.

" } }, + "com.amazonaws.ssmsap#ApplicationArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.ssmsap#SsmSapArn" + } + }, "com.amazonaws.ssmsap#ApplicationCredential": { "type": "structure", "members": { @@ -177,7 +189,11 @@ "com.amazonaws.ssmsap#ApplicationId": { "type": "string", "traits": { - "smithy.api#pattern": "^[\\w\\d]{1,50}$" + "smithy.api#length": { + "min": 1, + "max": 60 + }, + "smithy.api#pattern": "^[\\w\\d\\.-]+$" } }, "com.amazonaws.ssmsap#ApplicationStatus": { @@ -534,9 +550,19 @@ "smithy.api#documentation": "

The SAP component of your application.

" } }, + "com.amazonaws.ssmsap#ComponentArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.ssmsap#SsmSapArn" + } + }, "com.amazonaws.ssmsap#ComponentId": { "type": "string", "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, "smithy.api#pattern": "^[\\w\\d-]+$" } }, @@ -793,6 +819,12 @@ "traits": { "smithy.api#documentation": "

The time at which the database was last updated.

" } + }, + "ConnectedComponentArns": { + "target": "com.amazonaws.ssmsap#ComponentArnList", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Names of the connected AWS Systems Manager for SAP\n components.

" + } } }, "traits": { @@ -845,6 +877,10 @@ "com.amazonaws.ssmsap#DatabaseId": { "type": "string", "traits": { + "smithy.api#length": { + "min": 1, + "max": 300 + }, "smithy.api#pattern": "[\\w\\d]+$" } }, @@ -1865,7 +1901,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of operations events.

\n

Available parameters include OperationID, as well as optional parameters\n MaxResults, NextToken, and\n Filters.

", + "smithy.api#documentation": "

Returns a list of operations events.

\n

Available parameters include OperationID, as well as optional parameters\n MaxResults, NextToken, and Filters.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1900,13 +1936,13 @@ "NextToken": { "target": "com.amazonaws.ssmsap#NextToken", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } }, "Filters": { "target": "com.amazonaws.ssmsap#FilterList", "traits": { - "smithy.api#documentation": "

Optionally specify filters to narrow the returned operation \n event items.

\n

Valid filter names include status, resourceID, \n and resourceType. The valid operator for all three filters \n is Equals.

" + "smithy.api#documentation": "

Optionally specify filters to narrow the returned operation event items.

\n

Valid filter names include status, resourceID, and\n resourceType. The valid operator for all three filters is\n Equals.

" } } }, @@ -1920,7 +1956,7 @@ "OperationEvents": { "target": "com.amazonaws.ssmsap#OperationEventList", "traits": { - "smithy.api#documentation": "

A returned list of operation events that \n meet the filter criteria.

" + "smithy.api#documentation": "

A returned list of operation events that meet the filter criteria.

" } }, "NextToken": { @@ -2162,7 +2198,7 @@ "Description": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A description of the operation event. For example, \n \"Stop the EC2 instance i-abcdefgh987654321\".

" + "smithy.api#documentation": "

A description of the operation event. For example, \"Stop the EC2 instance\n i-abcdefgh987654321\".

" } }, "Resource": { @@ -2174,13 +2210,13 @@ "Status": { "target": "com.amazonaws.ssmsap#OperationEventStatus", "traits": { - "smithy.api#documentation": "

The status of the operation event. The possible statuses \n are: IN_PROGRESS, \n COMPLETED, and FAILED.

" + "smithy.api#documentation": "

The status of the operation event. The possible statuses are: IN_PROGRESS,\n COMPLETED, and FAILED.

" } }, "StatusMessage": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The status message relating to a specific \n operation event.

" + "smithy.api#documentation": "

The status message relating to a specific operation event.

" } }, "Timestamp": { @@ -2191,7 +2227,7 @@ } }, "traits": { - "smithy.api#documentation": "

An operation event returns details for an operation, including \n key milestones which can be used to monitor and track operations \n in progress.

\n

Operation events contain:

\n \n

Operation event examples include StartApplication or \n StopApplication.

" + "smithy.api#documentation": "

An operation event returns details for an operation, including key milestones which can\n be used to monitor and track operations in progress.

\n

Operation events contain:

\n \n

Operation event examples include StartApplication or StopApplication.

" } }, "com.amazonaws.ssmsap#OperationEventList": { @@ -2581,18 +2617,18 @@ "ResourceArn": { "target": "com.amazonaws.ssmsap#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source resource.

\n

Example of ResourceArn: \n \"arn:aws:ec2:us-east-1:111111111111:instance/i-abcdefgh987654321\"

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source resource.

\n

Example of ResourceArn:\n \"arn:aws:ec2:us-east-1:111111111111:instance/i-abcdefgh987654321\"

" } }, "ResourceType": { "target": "com.amazonaws.ssmsap#OperationEventResourceType", "traits": { - "smithy.api#documentation": "

The resource type.

\n

Example of ResourceType: \"AWS::SystemsManagerSAP::Component\" \n or \"AWS::EC2::Instance\".

" + "smithy.api#documentation": "

The resource type.

\n

Example of ResourceType: \"AWS::SystemsManagerSAP::Component\"\n or \"AWS::EC2::Instance\".

" } } }, "traits": { - "smithy.api#documentation": "

The resource contains a ResourceArn \n and the ResourceType.

" + "smithy.api#documentation": "

The resource contains a ResourceArn and the\n ResourceType.

" } }, "com.amazonaws.ssmsap#ResourceId": { @@ -3559,7 +3595,7 @@ } ], "traits": { - "smithy.api#documentation": "

Request is an operation to stop an application.

\n

Parameter ApplicationId is required. \n Parameters StopConnectedEntity and \n IncludeEc2InstanceShutdown are optional.

", + "smithy.api#documentation": "

Request is an operation to stop an application.

\n

Parameter ApplicationId is required. Parameters\n StopConnectedEntity and IncludeEc2InstanceShutdown are\n optional.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -3580,13 +3616,13 @@ "StopConnectedEntity": { "target": "com.amazonaws.ssmsap#ConnectedEntityType", "traits": { - "smithy.api#documentation": "

Specify the ConnectedEntityType. Accepted type \n is DBMS.

\n

If this parameter is included, the connected DBMS (Database \n Management System) will be stopped.

" + "smithy.api#documentation": "

Specify the ConnectedEntityType. Accepted type is DBMS.

\n

If this parameter is included, the connected DBMS (Database Management System) will be\n stopped.

" } }, "IncludeEc2InstanceShutdown": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Boolean. If included and if set to True, the \n StopApplication operation will shut down the associated Amazon EC2 instance in addition to \n the application.

" + "smithy.api#documentation": "

Boolean. If included and if set to True, the StopApplication operation will\n shut down the associated Amazon EC2 instance in addition to the application.

" } } }, From d2407723c3e3ad6c1a5bc0b4f5f159d6c6019f18 Mon Sep 17 00:00:00 2001 From: AWS SDK Swift Automation Date: Mon, 19 Aug 2024 18:05:09 +0000 Subject: [PATCH 2/3] Update endpoints model --- codegen/sdk-codegen/sdk-endpoints.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/codegen/sdk-codegen/sdk-endpoints.json b/codegen/sdk-codegen/sdk-endpoints.json index 4c24f2afa5d..d3dbcc25a2c 100644 --- a/codegen/sdk-codegen/sdk-endpoints.json +++ b/codegen/sdk-codegen/sdk-endpoints.json @@ -29358,6 +29358,16 @@ "us-isob-east-1" : { } } }, + "budgets" : { + "endpoints" : { + "us-isob-east-1" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "hostname" : "budgets.us-isob-east-1.sc2s.sgov.gov" + } + } + }, "cloudcontrolapi" : { "endpoints" : { "us-isob-east-1" : { } From 2699940c3e7001070b9b79c202bb129b6fb3dd5d Mon Sep 17 00:00:00 2001 From: AWS SDK Swift Automation Date: Mon, 19 Aug 2024 18:50:56 +0000 Subject: [PATCH 3/3] chore: Updates version to 0.61.0 --- Package.version | 2 +- .../Sources/AWSBedrock/BedrockClient.swift | 283 +++++++ .../Sources/AWSBedrock/Models.swift | 766 ++++++++++++++++++ .../Sources/AWSCodeBuild/Models.swift | 24 + .../Sources/AWSDeadline/DeadlineClient.swift | 8 +- .../Sources/AWSDeadline/Models.swift | 101 +-- .../Sources/AWSLambda/LambdaClient.swift | 188 ++++- .../AWSLambda/Sources/AWSLambda/Models.swift | 218 ++++- .../AWSSsmSap/Sources/AWSSsmSap/Models.swift | 10 + 9 files changed, 1520 insertions(+), 80 deletions(-) diff --git a/Package.version b/Package.version index 12193b84d55..821e2d60fba 100644 --- a/Package.version +++ b/Package.version @@ -1 +1 @@ -0.60.0 \ No newline at end of file +0.61.0 \ No newline at end of file diff --git a/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift b/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift index 0b2bdcd29b7..2ee7574c02f 100644 --- a/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift +++ b/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift @@ -578,6 +578,81 @@ extension BedrockClient { return try await op.execute(input: input) } + /// Performs the `CreateModelInvocationJob` operation on the `AmazonBedrockControlPlaneService` service. + /// + /// Creates a job to invoke a model on multiple prompts (batch inference). Format your data according to [Format your inference data](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference-prerq.html#batch-inference-data) and upload it to an Amazon S3 bucket. For more information, see [Create a batch inference job](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference-create.html). The response returns a jobArn that you can use to stop or get details about the job. You can check the status of the job by sending a [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html) request. + /// + /// - Parameter CreateModelInvocationJobInput : [no documentation found] + /// + /// - Returns: `CreateModelInvocationJobOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request is denied because of missing access permissions. + /// - `ConflictException` : Error occurred because of a conflict while performing an operation. + /// - `InternalServerException` : An internal server error occurred. Retry your request. + /// - `ResourceNotFoundException` : The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again. + /// - `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. + /// - `ValidationException` : Input validation failed. Check your request parameters and retry the request. + public func createModelInvocationJob(input: CreateModelInvocationJobInput) async throws -> CreateModelInvocationJobOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createModelInvocationJob") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "bedrock") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { (provider: any ClientRuntime.HttpInterceptorProvider) -> Void in + let i: any ClientRuntime.HttpInterceptor = provider.create() + builder.interceptors.add(i) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateModelInvocationJobInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateModelInvocationJobInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateModelInvocationJobOutput.httpOutput(from:), CreateModelInvocationJobOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(metadata: AWSClientRuntime.AWSUserAgentMetadata.fromConfig(serviceID: serviceName, version: "1.0", config: config))) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Bedrock") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateModelInvocationJob") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CreateProvisionedModelThroughput` operation on the `AmazonBedrockControlPlaneService` service. /// /// 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](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html). @@ -1350,6 +1425,75 @@ extension BedrockClient { return try await op.execute(input: input) } + /// Performs the `GetModelInvocationJob` operation on the `AmazonBedrockControlPlaneService` service. + /// + /// Gets details about a batch inference job. For more information, see [View details about a batch inference job](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference-manage.html#batch-inference-view) + /// + /// - Parameter GetModelInvocationJobInput : [no documentation found] + /// + /// - Returns: `GetModelInvocationJobOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request is denied because of missing access permissions. + /// - `InternalServerException` : An internal server error occurred. Retry your request. + /// - `ResourceNotFoundException` : The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again. + /// - `ThrottlingException` : The number of requests exceeds the limit. Resubmit your request later. + /// - `ValidationException` : Input validation failed. Check your request parameters and retry the request. + public func getModelInvocationJob(input: GetModelInvocationJobInput) async throws -> GetModelInvocationJobOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getModelInvocationJob") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "bedrock") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { (provider: any ClientRuntime.HttpInterceptorProvider) -> Void in + let i: any ClientRuntime.HttpInterceptor = provider.create() + builder.interceptors.add(i) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetModelInvocationJobInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetModelInvocationJobOutput.httpOutput(from:), GetModelInvocationJobOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(metadata: AWSClientRuntime.AWSUserAgentMetadata.fromConfig(serviceID: serviceName, version: "1.0", config: config))) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Bedrock") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetModelInvocationJob") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetModelInvocationLoggingConfiguration` operation on the `AmazonBedrockControlPlaneService` service. /// /// Get the current configuration values for model invocation logging. @@ -1902,6 +2046,75 @@ extension BedrockClient { return try await op.execute(input: input) } + /// Performs the `ListModelInvocationJobs` operation on the `AmazonBedrockControlPlaneService` service. + /// + /// Lists all batch inference jobs in the account. For more information, see [View details about a batch inference job](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference-manage.html#batch-inference-view). + /// + /// - Parameter ListModelInvocationJobsInput : [no documentation found] + /// + /// - Returns: `ListModelInvocationJobsOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request is denied because of missing access permissions. + /// - `InternalServerException` : An internal server error occurred. Retry your request. + /// - `ThrottlingException` : The number of requests exceeds the limit. Resubmit your request later. + /// - `ValidationException` : Input validation failed. Check your request parameters and retry the request. + public func listModelInvocationJobs(input: ListModelInvocationJobsInput) async throws -> ListModelInvocationJobsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listModelInvocationJobs") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "bedrock") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { (provider: any ClientRuntime.HttpInterceptorProvider) -> Void in + let i: any ClientRuntime.HttpInterceptor = provider.create() + builder.interceptors.add(i) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListModelInvocationJobsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListModelInvocationJobsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListModelInvocationJobsOutput.httpOutput(from:), ListModelInvocationJobsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(metadata: AWSClientRuntime.AWSUserAgentMetadata.fromConfig(serviceID: serviceName, version: "1.0", config: config))) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Bedrock") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListModelInvocationJobs") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListProvisionedModelThroughputs` operation on the `AmazonBedrockControlPlaneService` service. /// /// 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](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html). @@ -2254,6 +2467,76 @@ extension BedrockClient { return try await op.execute(input: input) } + /// Performs the `StopModelInvocationJob` operation on the `AmazonBedrockControlPlaneService` service. + /// + /// Stops a batch inference job. You're only charged for tokens that were already processed. For more information, see [Stop a batch inference job](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-inference-manage.html#batch-inference-stop). + /// + /// - Parameter StopModelInvocationJobInput : [no documentation found] + /// + /// - Returns: `StopModelInvocationJobOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request is denied because of missing access permissions. + /// - `ConflictException` : Error occurred because of a conflict while performing an operation. + /// - `InternalServerException` : An internal server error occurred. Retry your request. + /// - `ResourceNotFoundException` : The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again. + /// - `ThrottlingException` : The number of requests exceeds the limit. Resubmit your request later. + /// - `ValidationException` : Input validation failed. Check your request parameters and retry the request. + public func stopModelInvocationJob(input: StopModelInvocationJobInput) async throws -> StopModelInvocationJobOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "stopModelInvocationJob") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "bedrock") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { (provider: any ClientRuntime.HttpInterceptorProvider) -> Void in + let i: any ClientRuntime.HttpInterceptor = provider.create() + builder.interceptors.add(i) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(StopModelInvocationJobInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(StopModelInvocationJobOutput.httpOutput(from:), StopModelInvocationJobOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(metadata: AWSClientRuntime.AWSUserAgentMetadata.fromConfig(serviceID: serviceName, version: "1.0", config: config))) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Bedrock") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StopModelInvocationJob") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `TagResource` operation on the `AmazonBedrockControlPlaneService` service. /// /// 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](https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-service.html). diff --git a/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift b/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift index 62ac84753ea..cb72452ab60 100644 --- a/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift +++ b/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift @@ -2774,6 +2774,447 @@ public struct ListModelCopyJobsOutput { } } +extension BedrockClientTypes { + + public enum S3InputFormat: Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case jsonl + case sdkUnknown(Swift.String) + + public static var allCases: [S3InputFormat] { + return [ + .jsonl + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .jsonl: return "JSONL" + case let .sdkUnknown(s): return s + } + } + } +} + +extension BedrockClientTypes { + /// Contains the configuration of the S3 location of the output data. + public struct ModelInvocationJobS3InputDataConfig { + /// The format of the input data. + public var s3InputFormat: BedrockClientTypes.S3InputFormat? + /// The S3 location of the input data. + /// This member is required. + public var s3Uri: Swift.String? + + public init( + s3InputFormat: BedrockClientTypes.S3InputFormat? = nil, + s3Uri: Swift.String? = nil + ) + { + self.s3InputFormat = s3InputFormat + self.s3Uri = s3Uri + } + } + +} + +extension BedrockClientTypes { + /// Details about the location of the input to the batch inference job. + public enum ModelInvocationJobInputDataConfig { + /// Contains the configuration of the S3 location of the input data. + case s3inputdataconfig(BedrockClientTypes.ModelInvocationJobS3InputDataConfig) + case sdkUnknown(Swift.String) + } + +} + +extension BedrockClientTypes { + /// Contains the configuration of the S3 location of the output data. + public struct ModelInvocationJobS3OutputDataConfig { + /// The unique identifier of the key that encrypts the S3 location of the output data. + public var s3EncryptionKeyId: Swift.String? + /// The S3 location of the output data. + /// This member is required. + public var s3Uri: Swift.String? + + public init( + s3EncryptionKeyId: Swift.String? = nil, + s3Uri: Swift.String? = nil + ) + { + self.s3EncryptionKeyId = s3EncryptionKeyId + self.s3Uri = s3Uri + } + } + +} + +extension BedrockClientTypes { + /// Contains the configuration of the S3 location of the output data. + public enum ModelInvocationJobOutputDataConfig { + /// Contains the configuration of the S3 location of the output data. + case s3outputdataconfig(BedrockClientTypes.ModelInvocationJobS3OutputDataConfig) + case sdkUnknown(Swift.String) + } + +} + +public struct CreateModelInvocationJobInput { + /// 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). + public var clientRequestToken: Swift.String? + /// Details about the location of the input to the batch inference job. + /// This member is required. + public var inputDataConfig: BedrockClientTypes.ModelInvocationJobInputDataConfig? + /// A name to give the batch inference job. + /// This member is required. + public var jobName: Swift.String? + /// The unique identifier of the foundation model to use for the batch inference job. + /// This member is required. + public var modelId: Swift.String? + /// Details about the location of the output of the batch inference job. + /// This member is required. + public var outputDataConfig: BedrockClientTypes.ModelInvocationJobOutputDataConfig? + /// The Amazon Resource Name (ARN) of the service role with permissions to carry out and manage batch inference. You can use the console to create a default service role or follow the steps at [Create a service role for batch inference](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-iam-sr.html). + /// This member is required. + public var roleArn: Swift.String? + /// Any tags to associate with the batch inference job. For more information, see [Tagging Amazon Bedrock resources](https://docs.aws.amazon.com/bedrock/latest/userguide/tagging.html). + public var tags: [BedrockClientTypes.Tag]? + /// The number of hours after which to force the batch inference job to time out. + public var timeoutDurationInHours: Swift.Int? + + public init( + clientRequestToken: Swift.String? = nil, + inputDataConfig: BedrockClientTypes.ModelInvocationJobInputDataConfig? = nil, + jobName: Swift.String? = nil, + modelId: Swift.String? = nil, + outputDataConfig: BedrockClientTypes.ModelInvocationJobOutputDataConfig? = nil, + roleArn: Swift.String? = nil, + tags: [BedrockClientTypes.Tag]? = nil, + timeoutDurationInHours: Swift.Int? = nil + ) + { + self.clientRequestToken = clientRequestToken + self.inputDataConfig = inputDataConfig + self.jobName = jobName + self.modelId = modelId + self.outputDataConfig = outputDataConfig + self.roleArn = roleArn + self.tags = tags + self.timeoutDurationInHours = timeoutDurationInHours + } +} + +public struct CreateModelInvocationJobOutput { + /// The Amazon Resource Name (ARN) of the batch inference job. + /// This member is required. + public var jobArn: Swift.String? + + public init( + jobArn: Swift.String? = nil + ) + { + self.jobArn = jobArn + } +} + +public struct GetModelInvocationJobInput { + /// The Amazon Resource Name (ARN) of the batch inference job. + /// This member is required. + public var jobIdentifier: Swift.String? + + public init( + jobIdentifier: Swift.String? = nil + ) + { + self.jobIdentifier = jobIdentifier + } +} + +extension BedrockClientTypes { + + public enum ModelInvocationJobStatus: Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case completed + case expired + case failed + case inProgress + case partiallyCompleted + case scheduled + case stopped + case stopping + case submitted + case validating + case sdkUnknown(Swift.String) + + public static var allCases: [ModelInvocationJobStatus] { + return [ + .completed, + .expired, + .failed, + .inProgress, + .partiallyCompleted, + .scheduled, + .stopped, + .stopping, + .submitted, + .validating + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .completed: return "Completed" + case .expired: return "Expired" + case .failed: return "Failed" + case .inProgress: return "InProgress" + case .partiallyCompleted: return "PartiallyCompleted" + case .scheduled: return "Scheduled" + case .stopped: return "Stopped" + case .stopping: return "Stopping" + case .submitted: return "Submitted" + case .validating: return "Validating" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct GetModelInvocationJobOutput { + /// 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). + public var clientRequestToken: Swift.String? + /// The time at which the batch inference job ended. + public var endTime: Foundation.Date? + /// Details about the location of the input to the batch inference job. + /// This member is required. + public var inputDataConfig: BedrockClientTypes.ModelInvocationJobInputDataConfig? + /// The Amazon Resource Name (ARN) of the batch inference job. + /// This member is required. + public var jobArn: Swift.String? + /// The time at which the batch inference job times or timed out. + public var jobExpirationTime: Foundation.Date? + /// The name of the batch inference job. + public var jobName: Swift.String? + /// The time at which the batch inference job was last modified. + public var lastModifiedTime: Foundation.Date? + /// If the batch inference job failed, this field contains a message describing why the job failed. + public var message: Swift.String? + /// The unique identifier of the foundation model used for model inference. + /// This member is required. + public var modelId: Swift.String? + /// Details about the location of the output of the batch inference job. + /// This member is required. + public var outputDataConfig: BedrockClientTypes.ModelInvocationJobOutputDataConfig? + /// The Amazon Resource Name (ARN) of the service role with permissions to carry out and manage batch inference. You can use the console to create a default service role or follow the steps at [Create a service role for batch inference](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-iam-sr.html). + /// This member is required. + public var roleArn: Swift.String? + /// The status of the batch inference job. + public var status: BedrockClientTypes.ModelInvocationJobStatus? + /// The time at which the batch inference job was submitted. + /// This member is required. + public var submitTime: Foundation.Date? + /// The number of hours after which batch inference job was set to time out. + public var timeoutDurationInHours: Swift.Int? + + public init( + clientRequestToken: Swift.String? = nil, + endTime: Foundation.Date? = nil, + inputDataConfig: BedrockClientTypes.ModelInvocationJobInputDataConfig? = nil, + jobArn: Swift.String? = nil, + jobExpirationTime: Foundation.Date? = nil, + jobName: Swift.String? = nil, + lastModifiedTime: Foundation.Date? = nil, + message: Swift.String? = nil, + modelId: Swift.String? = nil, + outputDataConfig: BedrockClientTypes.ModelInvocationJobOutputDataConfig? = nil, + roleArn: Swift.String? = nil, + status: BedrockClientTypes.ModelInvocationJobStatus? = nil, + submitTime: Foundation.Date? = nil, + timeoutDurationInHours: Swift.Int? = nil + ) + { + self.clientRequestToken = clientRequestToken + self.endTime = endTime + self.inputDataConfig = inputDataConfig + self.jobArn = jobArn + self.jobExpirationTime = jobExpirationTime + self.jobName = jobName + self.lastModifiedTime = lastModifiedTime + self.message = message + self.modelId = modelId + self.outputDataConfig = outputDataConfig + self.roleArn = roleArn + self.status = status + self.submitTime = submitTime + self.timeoutDurationInHours = timeoutDurationInHours + } +} + +extension GetModelInvocationJobOutput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "GetModelInvocationJobOutput(clientRequestToken: \(Swift.String(describing: clientRequestToken)), endTime: \(Swift.String(describing: endTime)), inputDataConfig: \(Swift.String(describing: inputDataConfig)), jobArn: \(Swift.String(describing: jobArn)), jobExpirationTime: \(Swift.String(describing: jobExpirationTime)), jobName: \(Swift.String(describing: jobName)), lastModifiedTime: \(Swift.String(describing: lastModifiedTime)), modelId: \(Swift.String(describing: modelId)), outputDataConfig: \(Swift.String(describing: outputDataConfig)), roleArn: \(Swift.String(describing: roleArn)), status: \(Swift.String(describing: status)), submitTime: \(Swift.String(describing: submitTime)), timeoutDurationInHours: \(Swift.String(describing: timeoutDurationInHours)), message: \"CONTENT_REDACTED\")"} +} + +public struct ListModelInvocationJobsInput { + /// The maximum number of results to return. If there are more results than the number that you specify, a nextToken value is returned. Use the nextToken in a request to return the next batch of results. + public var maxResults: Swift.Int? + /// Specify a string to filter for batch inference jobs whose names contain the string. + public var nameContains: Swift.String? + /// If there were more results than the value you specified in the maxResults field in a previous ListModelInvocationJobs request, the response would have returned a nextToken value. To see the next batch of results, send the nextToken value in another request. + public var nextToken: Swift.String? + /// An attribute by which to sort the results. + public var sortBy: BedrockClientTypes.SortJobsBy? + /// Specifies whether to sort the results by ascending or descending order. + public var sortOrder: BedrockClientTypes.SortOrder? + /// Specify a status to filter for batch inference jobs whose statuses match the string you specify. + public var statusEquals: BedrockClientTypes.ModelInvocationJobStatus? + /// Specify a time to filter for batch inference jobs that were submitted after the time you specify. + public var submitTimeAfter: Foundation.Date? + /// Specify a time to filter for batch inference jobs that were submitted before the time you specify. + public var submitTimeBefore: Foundation.Date? + + public init( + maxResults: Swift.Int? = nil, + nameContains: Swift.String? = nil, + nextToken: Swift.String? = nil, + sortBy: BedrockClientTypes.SortJobsBy? = nil, + sortOrder: BedrockClientTypes.SortOrder? = nil, + statusEquals: BedrockClientTypes.ModelInvocationJobStatus? = nil, + submitTimeAfter: Foundation.Date? = nil, + submitTimeBefore: Foundation.Date? = nil + ) + { + self.maxResults = maxResults + self.nameContains = nameContains + self.nextToken = nextToken + self.sortBy = sortBy + self.sortOrder = sortOrder + self.statusEquals = statusEquals + self.submitTimeAfter = submitTimeAfter + self.submitTimeBefore = submitTimeBefore + } +} + +extension BedrockClientTypes { + /// A summary of a batch inference job. + public struct ModelInvocationJobSummary { + /// 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). + public var clientRequestToken: Swift.String? + /// The time at which the batch inference job ended. + public var endTime: Foundation.Date? + /// Details about the location of the input to the batch inference job. + /// This member is required. + public var inputDataConfig: BedrockClientTypes.ModelInvocationJobInputDataConfig? + /// The Amazon Resource Name (ARN) of the batch inference job. + /// This member is required. + public var jobArn: Swift.String? + /// The time at which the batch inference job times or timed out. + public var jobExpirationTime: Foundation.Date? + /// The name of the batch inference job. + /// This member is required. + public var jobName: Swift.String? + /// The time at which the batch inference job was last modified. + public var lastModifiedTime: Foundation.Date? + /// If the batch inference job failed, this field contains a message describing why the job failed. + public var message: Swift.String? + /// The unique identifier of the foundation model used for model inference. + /// This member is required. + public var modelId: Swift.String? + /// Details about the location of the output of the batch inference job. + /// This member is required. + public var outputDataConfig: BedrockClientTypes.ModelInvocationJobOutputDataConfig? + /// The Amazon Resource Name (ARN) of the service role with permissions to carry out and manage batch inference. You can use the console to create a default service role or follow the steps at [Create a service role for batch inference](https://docs.aws.amazon.com/bedrock/latest/userguide/batch-iam-sr.html). + /// This member is required. + public var roleArn: Swift.String? + /// The status of the batch inference job. + public var status: BedrockClientTypes.ModelInvocationJobStatus? + /// The time at which the batch inference job was submitted. + /// This member is required. + public var submitTime: Foundation.Date? + /// The number of hours after which the batch inference job was set to time out. + public var timeoutDurationInHours: Swift.Int? + + public init( + clientRequestToken: Swift.String? = nil, + endTime: Foundation.Date? = nil, + inputDataConfig: BedrockClientTypes.ModelInvocationJobInputDataConfig? = nil, + jobArn: Swift.String? = nil, + jobExpirationTime: Foundation.Date? = nil, + jobName: Swift.String? = nil, + lastModifiedTime: Foundation.Date? = nil, + message: Swift.String? = nil, + modelId: Swift.String? = nil, + outputDataConfig: BedrockClientTypes.ModelInvocationJobOutputDataConfig? = nil, + roleArn: Swift.String? = nil, + status: BedrockClientTypes.ModelInvocationJobStatus? = nil, + submitTime: Foundation.Date? = nil, + timeoutDurationInHours: Swift.Int? = nil + ) + { + self.clientRequestToken = clientRequestToken + self.endTime = endTime + self.inputDataConfig = inputDataConfig + self.jobArn = jobArn + self.jobExpirationTime = jobExpirationTime + self.jobName = jobName + self.lastModifiedTime = lastModifiedTime + self.message = message + self.modelId = modelId + self.outputDataConfig = outputDataConfig + self.roleArn = roleArn + self.status = status + self.submitTime = submitTime + self.timeoutDurationInHours = timeoutDurationInHours + } + } + +} + +extension BedrockClientTypes.ModelInvocationJobSummary: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "ModelInvocationJobSummary(clientRequestToken: \(Swift.String(describing: clientRequestToken)), endTime: \(Swift.String(describing: endTime)), inputDataConfig: \(Swift.String(describing: inputDataConfig)), jobArn: \(Swift.String(describing: jobArn)), jobExpirationTime: \(Swift.String(describing: jobExpirationTime)), jobName: \(Swift.String(describing: jobName)), lastModifiedTime: \(Swift.String(describing: lastModifiedTime)), modelId: \(Swift.String(describing: modelId)), outputDataConfig: \(Swift.String(describing: outputDataConfig)), roleArn: \(Swift.String(describing: roleArn)), status: \(Swift.String(describing: status)), submitTime: \(Swift.String(describing: submitTime)), timeoutDurationInHours: \(Swift.String(describing: timeoutDurationInHours)), message: \"CONTENT_REDACTED\")"} +} + +public struct ListModelInvocationJobsOutput { + /// A list of items, each of which contains a summary about a batch inference job. + public var invocationJobSummaries: [BedrockClientTypes.ModelInvocationJobSummary]? + /// If there are more results than can fit in the response, a nextToken is returned. Use the nextToken in a request to return the next batch of results. + public var nextToken: Swift.String? + + public init( + invocationJobSummaries: [BedrockClientTypes.ModelInvocationJobSummary]? = nil, + nextToken: Swift.String? = nil + ) + { + self.invocationJobSummaries = invocationJobSummaries + self.nextToken = nextToken + } +} + +public struct StopModelInvocationJobInput { + /// The Amazon Resource Name (ARN) of the batch inference job to stop. + /// This member is required. + public var jobIdentifier: Swift.String? + + public init( + jobIdentifier: Swift.String? = nil + ) + { + self.jobIdentifier = jobIdentifier + } +} + +public struct StopModelInvocationJobOutput { + + public init() { } +} + public struct DeleteCustomModelInput { /// Name of the model to delete. /// This member is required. @@ -4383,6 +4824,13 @@ extension CreateModelCustomizationJobInput { } } +extension CreateModelInvocationJobInput { + + static func urlPathProvider(_ value: CreateModelInvocationJobInput) -> Swift.String? { + return "/model-invocation-job" + } +} + extension CreateProvisionedModelThroughputInput { static func urlPathProvider(_ value: CreateProvisionedModelThroughputInput) -> Swift.String? { @@ -4511,6 +4959,16 @@ extension GetModelCustomizationJobInput { } } +extension GetModelInvocationJobInput { + + static func urlPathProvider(_ value: GetModelInvocationJobInput) -> Swift.String? { + guard let jobIdentifier = value.jobIdentifier else { + return nil + } + return "/model-invocation-job/\(jobIdentifier.urlPercentEncoding())" + } +} + extension GetModelInvocationLoggingConfigurationInput { static func urlPathProvider(_ value: GetModelInvocationLoggingConfigurationInput) -> Swift.String? { @@ -4790,6 +5248,53 @@ extension ListModelCustomizationJobsInput { } } +extension ListModelInvocationJobsInput { + + static func urlPathProvider(_ value: ListModelInvocationJobsInput) -> Swift.String? { + return "/model-invocation-jobs" + } +} + +extension ListModelInvocationJobsInput { + + static func queryItemProvider(_ value: ListModelInvocationJobsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let nameContains = value.nameContains { + let nameContainsQueryItem = Smithy.URIQueryItem(name: "nameContains".urlPercentEncoding(), value: Swift.String(nameContains).urlPercentEncoding()) + items.append(nameContainsQueryItem) + } + if let submitTimeAfter = value.submitTimeAfter { + let submitTimeAfterQueryItem = Smithy.URIQueryItem(name: "submitTimeAfter".urlPercentEncoding(), value: Swift.String(SmithyTimestamps.TimestampFormatter(format: .dateTime).string(from: submitTimeAfter)).urlPercentEncoding()) + items.append(submitTimeAfterQueryItem) + } + if let statusEquals = value.statusEquals { + let statusEqualsQueryItem = Smithy.URIQueryItem(name: "statusEquals".urlPercentEncoding(), value: Swift.String(statusEquals.rawValue).urlPercentEncoding()) + items.append(statusEqualsQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let sortOrder = value.sortOrder { + let sortOrderQueryItem = Smithy.URIQueryItem(name: "sortOrder".urlPercentEncoding(), value: Swift.String(sortOrder.rawValue).urlPercentEncoding()) + items.append(sortOrderQueryItem) + } + if let submitTimeBefore = value.submitTimeBefore { + let submitTimeBeforeQueryItem = Smithy.URIQueryItem(name: "submitTimeBefore".urlPercentEncoding(), value: Swift.String(SmithyTimestamps.TimestampFormatter(format: .dateTime).string(from: submitTimeBefore)).urlPercentEncoding()) + items.append(submitTimeBeforeQueryItem) + } + if let sortBy = value.sortBy { + let sortByQueryItem = Smithy.URIQueryItem(name: "sortBy".urlPercentEncoding(), value: Swift.String(sortBy.rawValue).urlPercentEncoding()) + items.append(sortByQueryItem) + } + return items + } +} + extension ListProvisionedModelThroughputsInput { static func urlPathProvider(_ value: ListProvisionedModelThroughputsInput) -> Swift.String? { @@ -4875,6 +5380,16 @@ extension StopModelCustomizationJobInput { } } +extension StopModelInvocationJobInput { + + static func urlPathProvider(_ value: StopModelInvocationJobInput) -> Swift.String? { + guard let jobIdentifier = value.jobIdentifier else { + return nil + } + return "/model-invocation-job/\(jobIdentifier.urlPercentEncoding())/stop" + } +} + extension TagResourceInput { static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { @@ -4986,6 +5501,21 @@ extension CreateModelCustomizationJobInput { } } +extension CreateModelInvocationJobInput { + + static func write(value: CreateModelInvocationJobInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientRequestToken"].write(value.clientRequestToken) + try writer["inputDataConfig"].write(value.inputDataConfig, with: BedrockClientTypes.ModelInvocationJobInputDataConfig.write(value:to:)) + try writer["jobName"].write(value.jobName) + try writer["modelId"].write(value.modelId) + try writer["outputDataConfig"].write(value.outputDataConfig, with: BedrockClientTypes.ModelInvocationJobOutputDataConfig.write(value:to:)) + try writer["roleArn"].write(value.roleArn) + try writer["tags"].writeList(value.tags, memberWritingClosure: BedrockClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["timeoutDurationInHours"].write(value.timeoutDurationInHours) + } +} + extension CreateProvisionedModelThroughputInput { static func write(value: CreateProvisionedModelThroughputInput?, to writer: SmithyJSON.Writer) throws { @@ -5123,6 +5653,18 @@ extension CreateModelCustomizationJobOutput { } } +extension CreateModelInvocationJobOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateModelInvocationJobOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateModelInvocationJobOutput() + value.jobArn = try reader["jobArn"].readIfPresent() + return value + } +} + extension CreateProvisionedModelThroughputOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateProvisionedModelThroughputOutput { @@ -5307,6 +5849,31 @@ extension GetModelCustomizationJobOutput { } } +extension GetModelInvocationJobOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetModelInvocationJobOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetModelInvocationJobOutput() + value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() + value.endTime = try reader["endTime"].readTimestampIfPresent(format: .dateTime) + value.inputDataConfig = try reader["inputDataConfig"].readIfPresent(with: BedrockClientTypes.ModelInvocationJobInputDataConfig.read(from:)) + value.jobArn = try reader["jobArn"].readIfPresent() + value.jobExpirationTime = try reader["jobExpirationTime"].readTimestampIfPresent(format: .dateTime) + value.jobName = try reader["jobName"].readIfPresent() + value.lastModifiedTime = try reader["lastModifiedTime"].readTimestampIfPresent(format: .dateTime) + value.message = try reader["message"].readIfPresent() + value.modelId = try reader["modelId"].readIfPresent() + value.outputDataConfig = try reader["outputDataConfig"].readIfPresent(with: BedrockClientTypes.ModelInvocationJobOutputDataConfig.read(from:)) + value.roleArn = try reader["roleArn"].readIfPresent() + value.status = try reader["status"].readIfPresent() + value.submitTime = try reader["submitTime"].readTimestampIfPresent(format: .dateTime) + value.timeoutDurationInHours = try reader["timeoutDurationInHours"].readIfPresent() + return value + } +} + extension GetModelInvocationLoggingConfigurationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetModelInvocationLoggingConfigurationOutput { @@ -5420,6 +5987,19 @@ extension ListModelCustomizationJobsOutput { } } +extension ListModelInvocationJobsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListModelInvocationJobsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListModelInvocationJobsOutput() + value.invocationJobSummaries = try reader["invocationJobSummaries"].readListIfPresent(memberReadingClosure: BedrockClientTypes.ModelInvocationJobSummary.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension ListProvisionedModelThroughputsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListProvisionedModelThroughputsOutput { @@ -5466,6 +6046,13 @@ extension StopModelCustomizationJobOutput { } } +extension StopModelInvocationJobOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StopModelInvocationJobOutput { + return StopModelInvocationJobOutput() + } +} + extension TagResourceOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { @@ -5601,6 +6188,26 @@ enum CreateModelCustomizationJobOutputError { } } +enum CreateModelInvocationJobOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CreateProvisionedModelThroughputOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5802,6 +6409,24 @@ enum GetModelCustomizationJobOutputError { } } +enum GetModelInvocationJobOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetModelInvocationLoggingConfigurationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5940,6 +6565,23 @@ enum ListModelCustomizationJobsOutputError { } } +enum ListModelInvocationJobsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListProvisionedModelThroughputsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -6030,6 +6672,25 @@ enum StopModelCustomizationJobOutputError { } } +enum StopModelInvocationJobOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum TagResourceOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -6723,6 +7384,88 @@ extension BedrockClientTypes.VpcConfig { } } +extension BedrockClientTypes.ModelInvocationJobInputDataConfig { + + static func write(value: BedrockClientTypes.ModelInvocationJobInputDataConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .s3inputdataconfig(s3inputdataconfig): + try writer["s3InputDataConfig"].write(s3inputdataconfig, with: BedrockClientTypes.ModelInvocationJobS3InputDataConfig.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockClientTypes.ModelInvocationJobInputDataConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "s3InputDataConfig": + return .s3inputdataconfig(try reader["s3InputDataConfig"].read(with: BedrockClientTypes.ModelInvocationJobS3InputDataConfig.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension BedrockClientTypes.ModelInvocationJobS3InputDataConfig { + + static func write(value: BedrockClientTypes.ModelInvocationJobS3InputDataConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["s3InputFormat"].write(value.s3InputFormat) + try writer["s3Uri"].write(value.s3Uri) + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockClientTypes.ModelInvocationJobS3InputDataConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockClientTypes.ModelInvocationJobS3InputDataConfig() + value.s3InputFormat = try reader["s3InputFormat"].readIfPresent() + value.s3Uri = try reader["s3Uri"].readIfPresent() + return value + } +} + +extension BedrockClientTypes.ModelInvocationJobOutputDataConfig { + + static func write(value: BedrockClientTypes.ModelInvocationJobOutputDataConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .s3outputdataconfig(s3outputdataconfig): + try writer["s3OutputDataConfig"].write(s3outputdataconfig, with: BedrockClientTypes.ModelInvocationJobS3OutputDataConfig.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockClientTypes.ModelInvocationJobOutputDataConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "s3OutputDataConfig": + return .s3outputdataconfig(try reader["s3OutputDataConfig"].read(with: BedrockClientTypes.ModelInvocationJobS3OutputDataConfig.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension BedrockClientTypes.ModelInvocationJobS3OutputDataConfig { + + static func write(value: BedrockClientTypes.ModelInvocationJobS3OutputDataConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["s3EncryptionKeyId"].write(value.s3EncryptionKeyId) + try writer["s3Uri"].write(value.s3Uri) + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockClientTypes.ModelInvocationJobS3OutputDataConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockClientTypes.ModelInvocationJobS3OutputDataConfig() + value.s3Uri = try reader["s3Uri"].readIfPresent() + value.s3EncryptionKeyId = try reader["s3EncryptionKeyId"].readIfPresent() + return value + } +} + extension BedrockClientTypes.LoggingConfig { static func write(value: BedrockClientTypes.LoggingConfig?, to writer: SmithyJSON.Writer) throws { @@ -6889,6 +7632,29 @@ extension BedrockClientTypes.ModelCustomizationJobSummary { } } +extension BedrockClientTypes.ModelInvocationJobSummary { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockClientTypes.ModelInvocationJobSummary { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockClientTypes.ModelInvocationJobSummary() + value.jobArn = try reader["jobArn"].readIfPresent() + value.jobName = try reader["jobName"].readIfPresent() + value.modelId = try reader["modelId"].readIfPresent() + value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() + value.roleArn = try reader["roleArn"].readIfPresent() + value.status = try reader["status"].readIfPresent() + value.message = try reader["message"].readIfPresent() + value.submitTime = try reader["submitTime"].readTimestampIfPresent(format: .dateTime) + value.lastModifiedTime = try reader["lastModifiedTime"].readTimestampIfPresent(format: .dateTime) + value.endTime = try reader["endTime"].readTimestampIfPresent(format: .dateTime) + value.inputDataConfig = try reader["inputDataConfig"].readIfPresent(with: BedrockClientTypes.ModelInvocationJobInputDataConfig.read(from:)) + value.outputDataConfig = try reader["outputDataConfig"].readIfPresent(with: BedrockClientTypes.ModelInvocationJobOutputDataConfig.read(from:)) + value.timeoutDurationInHours = try reader["timeoutDurationInHours"].readIfPresent() + value.jobExpirationTime = try reader["jobExpirationTime"].readTimestampIfPresent(format: .dateTime) + return value + } +} + extension BedrockClientTypes.ProvisionedModelSummary { static func read(from reader: SmithyJSON.Reader) throws -> BedrockClientTypes.ProvisionedModelSummary { diff --git a/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/Models.swift b/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/Models.swift index 1ffcaafa3a4..35250b50ccb 100644 --- a/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/Models.swift +++ b/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/Models.swift @@ -899,6 +899,7 @@ extension CodeBuildClientTypes { case linuxContainer case linuxGpuContainer case linuxLambdaContainer + case macArm case windowsContainer case windowsServer2019Container case sdkUnknown(Swift.String) @@ -910,6 +911,7 @@ extension CodeBuildClientTypes { .linuxContainer, .linuxGpuContainer, .linuxLambdaContainer, + .macArm, .windowsContainer, .windowsServer2019Container ] @@ -927,6 +929,7 @@ extension CodeBuildClientTypes { case .linuxContainer: return "LINUX_CONTAINER" case .linuxGpuContainer: return "LINUX_GPU_CONTAINER" case .linuxLambdaContainer: return "LINUX_LAMBDA_CONTAINER" + case .macArm: return "MAC_ARM" case .windowsContainer: return "WINDOWS_CONTAINER" case .windowsServer2019Container: return "WINDOWS_SERVER_2019_CONTAINER" case let .sdkUnknown(s): return s @@ -2341,6 +2344,8 @@ extension CodeBuildClientTypes { public enum FleetContextCode: Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case actionRequired case createFailed + case insufficientCapacity + case pendingDeletion case updateFailed case sdkUnknown(Swift.String) @@ -2348,6 +2353,8 @@ extension CodeBuildClientTypes { return [ .actionRequired, .createFailed, + .insufficientCapacity, + .pendingDeletion, .updateFailed ] } @@ -2361,6 +2368,8 @@ extension CodeBuildClientTypes { switch self { case .actionRequired: return "ACTION_REQUIRED" case .createFailed: return "CREATE_FAILED" + case .insufficientCapacity: return "INSUFFICIENT_CAPACITY" + case .pendingDeletion: return "PENDING_DELETION" case .updateFailed: return "UPDATE_FAILED" case let .sdkUnknown(s): return s } @@ -2540,6 +2549,8 @@ extension CodeBuildClientTypes { public var fleetServiceRole: Swift.String? /// The ID of the compute fleet. public var id: Swift.String? + /// The Amazon Machine Image (AMI) of the compute fleet. + public var imageId: Swift.String? /// The time at which the compute fleet was last modified. public var lastModified: Foundation.Date? /// The name of the compute fleet. @@ -2567,6 +2578,7 @@ extension CodeBuildClientTypes { environmentType: CodeBuildClientTypes.EnvironmentType? = nil, fleetServiceRole: Swift.String? = nil, id: Swift.String? = nil, + imageId: Swift.String? = nil, lastModified: Foundation.Date? = nil, name: Swift.String? = nil, overflowBehavior: CodeBuildClientTypes.FleetOverflowBehavior? = nil, @@ -2583,6 +2595,7 @@ extension CodeBuildClientTypes { self.environmentType = environmentType self.fleetServiceRole = fleetServiceRole self.id = id + self.imageId = imageId self.lastModified = lastModified self.name = name self.overflowBehavior = overflowBehavior @@ -3787,6 +3800,8 @@ public struct CreateFleetInput { public var environmentType: CodeBuildClientTypes.EnvironmentType? /// The service role associated with the compute fleet. For more information, see [ Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the CodeBuild User Guide. public var fleetServiceRole: Swift.String? + /// The Amazon Machine Image (AMI) of the compute fleet. + public var imageId: Swift.String? /// The name of the compute fleet. /// This member is required. public var name: Swift.String? @@ -3808,6 +3823,7 @@ public struct CreateFleetInput { computeType: CodeBuildClientTypes.ComputeType? = nil, environmentType: CodeBuildClientTypes.EnvironmentType? = nil, fleetServiceRole: Swift.String? = nil, + imageId: Swift.String? = nil, name: Swift.String? = nil, overflowBehavior: CodeBuildClientTypes.FleetOverflowBehavior? = nil, scalingConfiguration: CodeBuildClientTypes.ScalingConfigurationInput? = nil, @@ -3819,6 +3835,7 @@ public struct CreateFleetInput { self.computeType = computeType self.environmentType = environmentType self.fleetServiceRole = fleetServiceRole + self.imageId = imageId self.name = name self.overflowBehavior = overflowBehavior self.scalingConfiguration = scalingConfiguration @@ -6192,6 +6209,8 @@ public struct UpdateFleetInput { public var environmentType: CodeBuildClientTypes.EnvironmentType? /// The service role associated with the compute fleet. For more information, see [ Allow a user to add a permission policy for a fleet service role](https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-managed-policies-example-permission-policy-fleet-service-role.html) in the CodeBuild User Guide. public var fleetServiceRole: Swift.String? + /// The Amazon Machine Image (AMI) of the compute fleet. + public var imageId: Swift.String? /// The compute fleet overflow behavior. /// /// * For overflow behavior QUEUE, your overflow builds need to wait on the existing fleet instance to become available. @@ -6211,6 +6230,7 @@ public struct UpdateFleetInput { computeType: CodeBuildClientTypes.ComputeType? = nil, environmentType: CodeBuildClientTypes.EnvironmentType? = nil, fleetServiceRole: Swift.String? = nil, + imageId: Swift.String? = nil, overflowBehavior: CodeBuildClientTypes.FleetOverflowBehavior? = nil, scalingConfiguration: CodeBuildClientTypes.ScalingConfigurationInput? = nil, tags: [CodeBuildClientTypes.Tag]? = nil, @@ -6222,6 +6242,7 @@ public struct UpdateFleetInput { self.computeType = computeType self.environmentType = environmentType self.fleetServiceRole = fleetServiceRole + self.imageId = imageId self.overflowBehavior = overflowBehavior self.scalingConfiguration = scalingConfiguration self.tags = tags @@ -6893,6 +6914,7 @@ extension CreateFleetInput { try writer["computeType"].write(value.computeType) try writer["environmentType"].write(value.environmentType) try writer["fleetServiceRole"].write(value.fleetServiceRole) + try writer["imageId"].write(value.imageId) try writer["name"].write(value.name) try writer["overflowBehavior"].write(value.overflowBehavior) try writer["scalingConfiguration"].write(value.scalingConfiguration, with: CodeBuildClientTypes.ScalingConfigurationInput.write(value:to:)) @@ -7346,6 +7368,7 @@ extension UpdateFleetInput { try writer["computeType"].write(value.computeType) try writer["environmentType"].write(value.environmentType) try writer["fleetServiceRole"].write(value.fleetServiceRole) + try writer["imageId"].write(value.imageId) try writer["overflowBehavior"].write(value.overflowBehavior) try writer["scalingConfiguration"].write(value.scalingConfiguration, with: CodeBuildClientTypes.ScalingConfigurationInput.write(value:to:)) try writer["tags"].writeList(value.tags, memberWritingClosure: CodeBuildClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) @@ -9398,6 +9421,7 @@ extension CodeBuildClientTypes.Fleet { value.scalingConfiguration = try reader["scalingConfiguration"].readIfPresent(with: CodeBuildClientTypes.ScalingConfigurationOutput.read(from:)) value.overflowBehavior = try reader["overflowBehavior"].readIfPresent() value.vpcConfig = try reader["vpcConfig"].readIfPresent(with: CodeBuildClientTypes.VpcConfig.read(from:)) + value.imageId = try reader["imageId"].readIfPresent() value.fleetServiceRole = try reader["fleetServiceRole"].readIfPresent() value.tags = try reader["tags"].readListIfPresent(memberReadingClosure: CodeBuildClientTypes.Tag.read(from:), memberNodeInfo: "member", isFlattened: false) return value diff --git a/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift b/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift index 4cd66cdcffe..472ea0f1382 100644 --- a/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift +++ b/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift @@ -1205,7 +1205,7 @@ extension DeadlineClient { /// Performs the `CreateJob` operation on the `Deadline` service. /// - /// Creates a job. A job is a render submission submitted by a user. It contains specific job properties outlined as steps and tasks. + /// Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to schedule and run work on available workers. For more information, see [Deadline Cloud jobs](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/deadline-cloud-jobs.html). /// /// - Parameter CreateJobInput : [no documentation found] /// @@ -2219,7 +2219,7 @@ extension DeadlineClient { /// Performs the `DeleteQueue` operation on the `Deadline` service. /// - /// Deletes a queue. + /// Deletes a queue. You can't recover the jobs in a queue if you delete the queue. Deleting the queue also deletes the jobs in that queue. /// /// - Parameter DeleteQueueInput : [no documentation found] /// @@ -6187,7 +6187,7 @@ extension DeadlineClient { /// Performs the `StartSessionsStatisticsAggregation` operation on the `Deadline` service. /// - /// Starts an asynchronous request for getting aggregated statistics about queues and farms. Get the statistics using the GetSessionsStatisticsAggregation operation. Statistics are available for 1 hour after you call the StartSessionsStatisticsAggregation operation. + /// Starts an asynchronous request for getting aggregated statistics about queues and farms. Get the statistics using the GetSessionsStatisticsAggregation operation. You can only have one running aggregation for your Deadline Cloud farm. Call the GetSessionsStatisticsAggregation operation and check the status field to see if an aggregation is running. Statistics are available for 1 hour after you call the StartSessionsStatisticsAggregation operation. /// /// - Parameter StartSessionsStatisticsAggregationInput : [no documentation found] /// @@ -6624,7 +6624,7 @@ extension DeadlineClient { /// Performs the `UpdateJob` operation on the `Deadline` service. /// - /// Updates a job. + /// Updates a job. When you change the status of the job to ARCHIVED, the job can't be scheduled or archived. An archived jobs and its steps and tasks are deleted after 120 days. The job can't be recovered. /// /// - Parameter UpdateJobInput : [no documentation found] /// diff --git a/Sources/Services/AWSDeadline/Sources/AWSDeadline/Models.swift b/Sources/Services/AWSDeadline/Sources/AWSDeadline/Models.swift index 248415cf026..7c554c3abbd 100644 --- a/Sources/Services/AWSDeadline/Sources/AWSDeadline/Models.swift +++ b/Sources/Services/AWSDeadline/Sources/AWSDeadline/Models.swift @@ -2039,7 +2039,7 @@ extension DeadlineClientTypes { extension DeadlineClientTypes { /// The budget action to add. public struct BudgetActionToAdd { - /// A description for the budget action to add. + /// A description for the budget action to add. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? /// The percentage threshold for the budget action to add. /// This member is required. @@ -2140,9 +2140,9 @@ public struct CreateBudgetInput { public var approximateDollarLimit: Swift.Float? /// The unique token which the server uses to recognize retries of the same request. public var clientToken: Swift.String? - /// The description of the budget. + /// The description of the budget. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the budget. + /// The display name of the budget. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID to include in this budget. @@ -2239,7 +2239,7 @@ public struct GetBudgetInput { extension DeadlineClientTypes { /// The details of a budget action. public struct ResponseBudgetAction { - /// The budget action description. + /// The budget action description. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? /// The percentage threshold for the budget. /// This member is required. @@ -2329,9 +2329,9 @@ public struct GetBudgetOutput { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The description of the budget. + /// The description of the budget. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the budget. + /// The display name of the budget. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The date and time the queue stopped. @@ -2436,9 +2436,10 @@ extension DeadlineClientTypes { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The description of the budget summary. + /// The description of the budget summary. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. + @available(*, deprecated, message: "ListBudgets no longer supports description. Use GetBudget if description is needed.") public var description: Swift.String? - /// The display name of the budget summary to update. + /// The display name of the budget summary to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The status of the budget. @@ -2523,9 +2524,9 @@ public struct UpdateBudgetInput { public var budgetId: Swift.String? /// The unique token which the server uses to recognize retries of the same request. public var clientToken: Swift.String? - /// The description of the budget to update. + /// The description of the budget to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the budget to update. + /// The display name of the budget to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The farm ID of the budget to update. /// This member is required. @@ -2778,9 +2779,9 @@ extension DeadlineClientTypes { public struct CreateFarmInput { /// The unique token which the server uses to recognize retries of the same request. public var clientToken: Swift.String? - /// The description of the farm. + /// The description of the farm. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the farm. + /// The display name of the farm. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The ARN of the KMS key to use on the farm. @@ -3213,9 +3214,9 @@ public struct CreateFleetInput { /// The configuration settings for the fleet. Customer managed fleets are self-managed. Service managed Amazon EC2 fleets are managed by Deadline Cloud. /// This member is required. public var configuration: DeadlineClientTypes.FleetConfiguration? - /// The description of the fleet. + /// The description of the fleet. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the fleet. + /// The display name of the fleet. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID of the farm to connect to the fleet. @@ -3313,11 +3314,11 @@ public struct CreateJobInput { public var farmId: Swift.String? /// The number of task failures before the job stops running and is marked as FAILED. public var maxFailedTasksCount: Swift.Int? - /// The maximum number of retries for a job. + /// The maximum number of retries for each task. public var maxRetriesPerTask: Swift.Int? /// The parameters for the job. public var parameters: [Swift.String: DeadlineClientTypes.JobParameter]? - /// The priority of the job on a scale of 1 to 100. The highest priority is 1. + /// The priority of the job on a scale of 0 to 100. The highest priority (first scheduled) is 100. When two jobs have the same priority, the oldest job is scheduled first. /// This member is required. public var priority: Swift.Int? /// The ID of the queue that the job is submitted to. @@ -3325,7 +3326,7 @@ public struct CreateJobInput { public var queueId: Swift.String? /// The storage profile ID for the storage profile to connect to the job. public var storageProfileId: Swift.String? - /// The initial status of the job's tasks when they are created. Tasks that are created with a SUSPENDED status will not run until you update their status. + /// The initial job status when it is created. Jobs that are created with a SUSPENDED status will not run until manually requeued. public var targetTaskRunStatus: DeadlineClientTypes.CreateJobTargetTaskRunStatus? /// The job template to use for this job. /// This member is required. @@ -3429,7 +3430,7 @@ public struct CreateLicenseEndpointOutput { public struct CreateMonitorInput { /// The unique token which the server uses to recognize retries of the same request. public var clientToken: Swift.String? - /// The name that you give the monitor that is displayed in the Deadline Cloud console. + /// The name that you give the monitor that is displayed in the Deadline Cloud console. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The Amazon Resource Name (ARN) of the IAM Identity Center instance that authenticates monitor users. @@ -3515,9 +3516,9 @@ public struct CreateQueueInput { public var clientToken: Swift.String? /// The default action to take on a queue if a budget isn't configured. public var defaultBudgetAction: DeadlineClientTypes.DefaultQueueBudgetAction? - /// The description of the queue. + /// The description of the queue. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the queue. + /// The display name of the queue. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID of the farm to connect to the queue. @@ -3789,7 +3790,7 @@ extension DeadlineClientTypes { public struct CreateStorageProfileInput { /// The unique token which the server uses to recognize retries of the same request. public var clientToken: Swift.String? - /// The display name of the storage profile. + /// The display name of the storage profile. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID of the farm to connect to the storage profile. @@ -4178,9 +4179,9 @@ public struct GetFleetOutput { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The description of the fleet. + /// The description of the fleet. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the fleet. + /// The display name of the fleet. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID of the farm in the fleet. @@ -4342,7 +4343,7 @@ public struct ListFleetMembersOutput { } public struct ListFleetsInput { - /// The display names of a list of fleets. + /// The display names of a list of fleets. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The farm ID of the fleets. /// This member is required. @@ -4388,7 +4389,7 @@ extension DeadlineClientTypes { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The display name of the fleet summary to update. + /// The display name of the fleet summary to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID. @@ -4474,9 +4475,9 @@ public struct UpdateFleetInput { public var clientToken: Swift.String? /// The fleet configuration to update. public var configuration: DeadlineClientTypes.FleetConfiguration? - /// The description of the fleet to update. + /// The description of the fleet to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the fleet to update. + /// The display name of the fleet to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The farm ID to update. /// This member is required. @@ -5253,9 +5254,9 @@ public struct GetFarmOutput { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The description of the farm. + /// The description of the farm. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the farm. + /// The display name of the farm. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID of the farm to get. @@ -5321,7 +5322,7 @@ public struct GetStorageProfileOutput { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The display name of the storage profile. + /// The display name of the storage profile. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The location of the files for the storage profile. @@ -5468,7 +5469,7 @@ extension DeadlineClientTypes { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The display name of the farm. + /// The display name of the farm. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID. @@ -5544,7 +5545,7 @@ public struct ListStorageProfilesInput { extension DeadlineClientTypes { /// The details of a storage profile. public struct StorageProfileSummary { - /// The display name of the storage profile summary to update. + /// The display name of the storage profile summary to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The operating system (OS) family. @@ -5757,9 +5758,9 @@ public struct GetQueueOutput { /// The default action taken on a queue if a budget wasn't configured. /// This member is required. public var defaultBudgetAction: DeadlineClientTypes.DefaultQueueBudgetAction? - /// The description of the queue. + /// The description of the queue. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the queue. + /// The display name of the queue. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID for the queue. @@ -5936,7 +5937,7 @@ public struct GetStorageProfileForQueueInput { } public struct GetStorageProfileForQueueOutput { - /// The display name of the storage profile connected to a queue. + /// The display name of the storage profile connected to a queue. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The location of the files for the storage profile within the queue. @@ -6182,7 +6183,7 @@ public struct GetJobOutput { /// The user or system that created this resource. /// This member is required. public var createdBy: Swift.String? - /// The description of the job. + /// The description of the job. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? /// The date and time the resource ended running. public var endedAt: Foundation.Date? @@ -6901,7 +6902,7 @@ public struct GetStepOutput { public var createdBy: Swift.String? /// The number of dependencies in the step. public var dependencyCounts: DeadlineClientTypes.DependencyCounts? - /// The description of the step. + /// The description of the step. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? /// The date and time the resource ended running. public var endedAt: Foundation.Date? @@ -8131,7 +8132,7 @@ public struct UpdateJobInput { /// The job ID to update. /// This member is required. public var jobId: Swift.String? - /// The status of a job in its lifecycle. + /// The status of a job in its lifecycle. When you change the status of the job to ARCHIVED, the job can't be scheduled or archived. An archived jobs and its steps and tasks are deleted after 120 days. The job can't be recovered. public var lifecycleStatus: DeadlineClientTypes.UpdateJobLifecycleStatus? /// The number of task failures before the job stops running and is marked as FAILED. public var maxFailedTasksCount: Swift.Int? @@ -8468,7 +8469,7 @@ public struct ListQueuesInput { public var maxResults: Swift.Int? /// The token for the next set of results, or null to start from the beginning. public var nextToken: Swift.String? - /// The principal ID. This filter is only valid when using Nimble Studio credentials and should match the user ID in the credentials of the caller. + /// The principal IDs to include in the list of queues. public var principalId: Swift.String? /// The status of the queues listed. /// @@ -8509,7 +8510,7 @@ extension DeadlineClientTypes { /// The default action taken on a queue summary if a budget wasn't configured. /// This member is required. public var defaultBudgetAction: DeadlineClientTypes.DefaultQueueBudgetAction? - /// The display name of the queue summary to update. + /// The display name of the queue summary to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The farm ID. @@ -8623,9 +8624,9 @@ public struct UpdateQueueInput { public var clientToken: Swift.String? /// The default action to take for a queue update if a budget isn't configured. public var defaultBudgetAction: DeadlineClientTypes.DefaultQueueBudgetAction? - /// The description of the queue to update. + /// The description of the queue to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the queue to update. + /// The display name of the queue to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The farm ID to update in the queue. /// This member is required. @@ -8736,9 +8737,9 @@ public struct UpdateQueueEnvironmentOutput { } public struct UpdateFarmInput { - /// The description of the farm to update. + /// The description of the farm to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var description: Swift.String? - /// The display name of the farm to update. + /// The display name of the farm to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The farm ID to update. /// This member is required. @@ -8769,7 +8770,7 @@ public struct UpdateFarmOutput { public struct UpdateStorageProfileInput { /// The unique token which the server uses to recognize retries of the same request. public var clientToken: Swift.String? - /// The display name of the storage profile to update. + /// The display name of the storage profile to update. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The farm ID to update. /// This member is required. @@ -9103,7 +9104,7 @@ public struct GetSessionsStatisticsAggregationOutput { public var nextToken: Swift.String? /// The statistics for the specified fleets or queues. public var statistics: [DeadlineClientTypes.Statistics]? - /// The status of the aggregated results. + /// The status of the aggregated results. An aggregation may fail or time out if the results are too large. If this happens, you can call the StartSessionsStatisticsAggregation operation after you reduce the aggregation time frame, reduce the number of queues or fleets in the aggregation, or increase the period length. If you call the StartSessionsStatisticsAggregation operation when the status is IN_PROGRESS, you will receive a ThrottlingException. /// This member is required. public var status: DeadlineClientTypes.SessionsStatisticsAggregationStatus? /// A message that describes the status. @@ -9600,7 +9601,7 @@ public struct GetMonitorOutput { /// The user name of the person that created the monitor. /// This member is required. public var createdBy: Swift.String? - /// The name used to identify the monitor on the Deadline Cloud console. + /// The name used to identify the monitor on the Deadline Cloud console. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The Amazon Resource Name (ARN) that the IAM Identity Center assigned to the monitor when it was created. @@ -9679,7 +9680,7 @@ extension DeadlineClientTypes { /// The user name of the person that created the monitor. /// This member is required. public var createdBy: Swift.String? - /// The name of the monitor that displays on the Deadline Cloud console. + /// The name of the monitor that displays on the Deadline Cloud console. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. /// This member is required. public var displayName: Swift.String? /// The Amazon Resource Name (ARN) that the IAM Identity Center assigned to the monitor when it was created. @@ -9753,7 +9754,7 @@ public struct ListMonitorsOutput { } public struct UpdateMonitorInput { - /// The new value to use for the monitor's display name. + /// The new value to use for the monitor's display name. This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field. public var displayName: Swift.String? /// The unique identifier of the monitor to update. /// This member is required. @@ -10017,7 +10018,7 @@ extension DeadlineClientTypes { public var startedAt: Foundation.Date? /// The task status to start with on the job. public var targetTaskRunStatus: DeadlineClientTypes.JobTargetTaskRunStatus? - /// task run status for the job. + /// The task run status for the job. /// /// * PENDING–pending and waiting for resources. /// diff --git a/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift b/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift index 02757bb0add..c8a3229897a 100644 --- a/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift +++ b/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift @@ -210,7 +210,11 @@ extension LambdaClient { /// __Possible Exceptions:__ /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. /// - `PolicyLengthExceededException` : The permissions policy for the resource is too large. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html). - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. @@ -285,7 +289,11 @@ extension LambdaClient { /// __Possible Exceptions:__ /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. /// - `PolicyLengthExceededException` : The permissions policy for the resource is too large. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html). - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. @@ -2055,6 +2063,74 @@ extension LambdaClient { return try await op.execute(input: input) } + /// Performs the `GetFunctionRecursionConfig` operation on the `AWSGirApiService` service. + /// + /// Returns your function's [recursive loop detection](https://docs.aws.amazon.com/lambda/latest/dg/invocation-recursion.html) configuration. + /// + /// - Parameter GetFunctionRecursionConfigInput : [no documentation found] + /// + /// - Returns: `GetFunctionRecursionConfigOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. + /// - `ResourceNotFoundException` : The resource specified in the request does not exist. + /// - `ServiceException` : The Lambda service encountered an internal error. + /// - `TooManyRequestsException` : The request throughput limit was exceeded. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests). + public func getFunctionRecursionConfig(input: GetFunctionRecursionConfigInput) async throws -> GetFunctionRecursionConfigOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getFunctionRecursionConfig") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "lambda") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { (provider: any ClientRuntime.HttpInterceptorProvider) -> Void in + let i: any ClientRuntime.HttpInterceptor = provider.create() + builder.interceptors.add(i) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetFunctionRecursionConfigInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetFunctionRecursionConfigOutput.httpOutput(from:), GetFunctionRecursionConfigOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(metadata: AWSClientRuntime.AWSUserAgentMetadata.fromConfig(serviceID: serviceName, version: "1.0", config: config))) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Lambda") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetFunctionRecursionConfig") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetFunctionUrlConfig` operation on the `AWSGirApiService` service. /// /// Returns details about a Lambda function URL. @@ -3715,7 +3791,11 @@ extension LambdaClient { /// __Possible Exceptions:__ /// - `CodeStorageExceededException` : Your Amazon Web Services account has exceeded its maximum total code size. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html). /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. @@ -3994,6 +4074,78 @@ extension LambdaClient { return try await op.execute(input: input) } + /// Performs the `PutFunctionRecursionConfig` operation on the `AWSGirApiService` service. + /// + /// Sets your function's [recursive loop detection](https://docs.aws.amazon.com/lambda/latest/dg/invocation-recursion.html) configuration. When you configure a Lambda function to output to the same service or resource that invokes the function, it's possible to create an infinite recursive loop. For example, a Lambda function might write a message to an Amazon Simple Queue Service (Amazon SQS) queue, which then invokes the same function. This invocation causes the function to write another message to the queue, which in turn invokes the function again. Lambda can detect certain types of recursive loops shortly after they occur. When Lambda detects a recursive loop and your function's recursive loop detection configuration is set to Terminate, it stops your function being invoked and notifies you. + /// + /// - Parameter PutFunctionRecursionConfigInput : [no documentation found] + /// + /// - Returns: `PutFunctionRecursionConfigOutput` : [no documentation found] + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. + /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. + /// - `ResourceNotFoundException` : The resource specified in the request does not exist. + /// - `ServiceException` : The Lambda service encountered an internal error. + /// - `TooManyRequestsException` : The request throughput limit was exceeded. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests). + public func putFunctionRecursionConfig(input: PutFunctionRecursionConfigInput) async throws -> PutFunctionRecursionConfigOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .put) + .withServiceName(value: serviceName) + .withOperation(value: "putFunctionRecursionConfig") + .withIdempotencyTokenGenerator(value: config.idempotencyTokenGenerator) + .withLogger(value: config.logger) + .withPartitionID(value: config.partitionID) + .withAuthSchemes(value: config.authSchemes ?? []) + .withAuthSchemeResolver(value: config.authSchemeResolver) + .withUnsignedPayloadTrait(value: false) + .withSocketTimeout(value: config.httpClientConfiguration.socketTimeout) + .withIdentityResolver(value: config.bearerTokenIdentityResolver, schemeID: "smithy.api#httpBearerAuth") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4") + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withSigningName(value: "lambda") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { (provider: any ClientRuntime.HttpInterceptorProvider) -> Void in + let i: any ClientRuntime.HttpInterceptor = provider.create() + builder.interceptors.add(i) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(PutFunctionRecursionConfigInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: PutFunctionRecursionConfigInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(PutFunctionRecursionConfigOutput.httpOutput(from:), PutFunctionRecursionConfigOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let endpointParams = EndpointParams(endpoint: config.endpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + builder.applyEndpoint(AWSClientRuntime.EndpointResolverMiddleware(endpointResolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) }, endpointParams: endpointParams)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(metadata: AWSClientRuntime.AWSUserAgentMetadata.fromConfig(serviceID: serviceName, version: "1.0", config: config))) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Lambda") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "PutFunctionRecursionConfig") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `PutProvisionedConcurrencyConfig` operation on the `AWSGirApiService` service. /// /// Adds a provisioned concurrency configuration to a function's alias or version. @@ -4152,7 +4304,11 @@ extension LambdaClient { /// /// __Possible Exceptions:__ /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. /// - `TooManyRequestsException` : The request throughput limit was exceeded. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests). @@ -4222,7 +4378,11 @@ extension LambdaClient { /// /// __Possible Exceptions:__ /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. /// - `TooManyRequestsException` : The request throughput limit was exceeded. For more information, see [Lambda quotas](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests). @@ -4434,7 +4594,11 @@ extension LambdaClient { /// /// __Possible Exceptions:__ /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. @@ -4698,7 +4862,11 @@ extension LambdaClient { /// - `CodeVerificationFailedException` : The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda blocks the deployment. /// - `InvalidCodeSignatureException` : The code signature failed the integrity check. If the integrity check fails, then Lambda blocks deployment, even if the code signing policy is set to WARN. /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. @@ -4774,7 +4942,11 @@ extension LambdaClient { /// - `CodeVerificationFailedException` : The code signature failed one or more of the validation checks for signature mismatch or expiry, and the code signing policy is set to ENFORCE. Lambda blocks the deployment. /// - `InvalidCodeSignatureException` : The code signature failed the integrity check. If the integrity check fails, then Lambda blocks deployment, even if the code signing policy is set to WARN. /// - `InvalidParameterValueException` : One of the parameters in the request is not valid. - /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. + /// - `PreconditionFailedException` : The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. + /// + /// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. + /// + /// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ServiceException` : The Lambda service encountered an internal error. diff --git a/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift b/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift index 9c0f45e40f7..355e1643f04 100644 --- a/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift +++ b/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift @@ -203,7 +203,11 @@ public struct PolicyLengthExceededException: ClientRuntime.ModeledError, AWSClie } } -/// The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API operation to retrieve the latest RevisionId for your resource. +/// The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. +/// +/// * For AddPermission and RemovePermission API operations: Call GetPolicy to retrieve the latest RevisionId for your resource. +/// +/// * For all other API operations: Call GetFunction or GetAlias to retrieve the latest RevisionId for your resource. public struct PreconditionFailedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error { public struct Properties { @@ -1314,7 +1318,7 @@ public struct CreateEventSourceMappingInput { public var functionName: Swift.String? /// (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums applied to the event source mapping. public var functionResponseTypes: [LambdaClientTypes.FunctionResponseType]? - /// The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds. For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping. Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1. + /// The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds. For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping. Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1. public var maximumBatchingWindowInSeconds: Swift.Int? /// (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1). public var maximumRecordAgeInSeconds: Swift.Int? @@ -2174,7 +2178,7 @@ public struct CreateFunctionInput { /// The Amazon Resource Name (ARN) of the function's execution role. /// This member is required. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The function's [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) setting. public var snapStart: LambdaClientTypes.SnapStart? @@ -2800,7 +2804,7 @@ public struct CreateFunctionOutput { public var revisionId: Swift.String? /// The function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The ARN of the runtime and any errors that occured. public var runtimeVersionConfig: LambdaClientTypes.RuntimeVersionConfig? @@ -3777,7 +3781,7 @@ extension LambdaClientTypes { public var revisionId: Swift.String? /// The function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The ARN of the runtime and any errors that occured. public var runtimeVersionConfig: LambdaClientTypes.RuntimeVersionConfig? @@ -4065,7 +4069,7 @@ public struct GetFunctionConfigurationOutput { public var revisionId: Swift.String? /// The function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The ARN of the runtime and any errors that occured. public var runtimeVersionConfig: LambdaClientTypes.RuntimeVersionConfig? @@ -4230,6 +4234,60 @@ public struct GetFunctionEventInvokeConfigOutput { } } +public struct GetFunctionRecursionConfigInput { + /// + /// This member is required. + public var functionName: Swift.String? + + public init( + functionName: Swift.String? = nil + ) + { + self.functionName = functionName + } +} + +extension LambdaClientTypes { + + public enum RecursiveLoop: Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case allow + case terminate + case sdkUnknown(Swift.String) + + public static var allCases: [RecursiveLoop] { + return [ + .allow, + .terminate + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .allow: return "Allow" + case .terminate: return "Terminate" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct GetFunctionRecursionConfigOutput { + /// If your function's recursive loop detection configuration is Allow, Lambda doesn't take any action when it detects your function being invoked as part of a recursive loop. If your function's recursive loop detection configuration is Terminate, Lambda stops your function being invoked and notifies you when it detects your function being invoked as part of a recursive loop. By default, Lambda sets your function's configuration to Terminate. You can update this configuration using the [PutFunctionRecursionConfig] action. + public var recursiveLoop: LambdaClientTypes.RecursiveLoop? + + public init( + recursiveLoop: LambdaClientTypes.RecursiveLoop? = nil + ) + { + self.recursiveLoop = recursiveLoop + } +} + public struct GetFunctionUrlConfigInput { /// The name or ARN of the Lambda function. Name formats /// @@ -4354,7 +4412,7 @@ extension LambdaClientTypes { public struct GetLayerVersionOutput { /// A list of compatible [instruction set architectures](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). public var compatibleArchitectures: [LambdaClientTypes.Architecture]? - /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var compatibleRuntimes: [LambdaClientTypes.Runtime]? /// Details about the layer version. public var content: LambdaClientTypes.LayerVersionContentOutput? @@ -4411,7 +4469,7 @@ public struct GetLayerVersionByArnInput { public struct GetLayerVersionByArnOutput { /// A list of compatible [instruction set architectures](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). public var compatibleArchitectures: [LambdaClientTypes.Architecture]? - /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var compatibleRuntimes: [LambdaClientTypes.Runtime]? /// Details about the layer version. public var content: LambdaClientTypes.LayerVersionContentOutput? @@ -6311,7 +6369,7 @@ public struct ListFunctionUrlConfigsOutput { public struct ListLayersInput { /// The compatible [instruction set architecture](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). public var compatibleArchitecture: LambdaClientTypes.Architecture? - /// A runtime identifier. For example, java21. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// A runtime identifier. The following list includes deprecated runtimes. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var compatibleRuntime: LambdaClientTypes.Runtime? /// A pagination token returned by a previous call. public var marker: Swift.String? @@ -6337,7 +6395,7 @@ extension LambdaClientTypes { public struct LayerVersionsListItem { /// A list of compatible [instruction set architectures](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). public var compatibleArchitectures: [LambdaClientTypes.Architecture]? - /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var compatibleRuntimes: [LambdaClientTypes.Runtime]? /// The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000. public var createdDate: Swift.String? @@ -6415,7 +6473,7 @@ public struct ListLayersOutput { public struct ListLayerVersionsInput { /// The compatible [instruction set architecture](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). public var compatibleArchitecture: LambdaClientTypes.Architecture? - /// A runtime identifier. For example, java21. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// A runtime identifier. The following list includes deprecated runtimes. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var compatibleRuntime: LambdaClientTypes.Runtime? /// The name or Amazon Resource Name (ARN) of the layer. /// This member is required. @@ -6690,7 +6748,7 @@ public struct PublishLayerVersionInput { public struct PublishLayerVersionOutput { /// A list of compatible [instruction set architectures](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html). public var compatibleArchitectures: [LambdaClientTypes.Architecture]? - /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The layer's compatible runtimes. The following list includes deprecated runtimes. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var compatibleRuntimes: [LambdaClientTypes.Runtime]? /// Details about the layer version. public var content: LambdaClientTypes.LayerVersionContentOutput? @@ -6815,7 +6873,7 @@ public struct PublishVersionOutput { public var revisionId: Swift.String? /// The function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The ARN of the runtime and any errors that occured. public var runtimeVersionConfig: LambdaClientTypes.RuntimeVersionConfig? @@ -7093,6 +7151,45 @@ public struct PutFunctionEventInvokeConfigOutput { } } +public struct PutFunctionRecursionConfigInput { + /// The name or ARN of the Lambda function. Name formats + /// + /// * Function name – my-function. + /// + /// * Function ARN – arn:aws:lambda:us-west-2:123456789012:function:my-function. + /// + /// * Partial ARN – 123456789012:function:my-function. + /// + /// + /// The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length. + /// This member is required. + public var functionName: Swift.String? + /// If you set your function's recursive loop detection configuration to Allow, Lambda doesn't take any action when it detects your function being invoked as part of a recursive loop. We recommend that you only use this setting if your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes it. If you set your function's recursive loop detection configuration to Terminate, Lambda stops your function being invoked and notifies you when it detects your function being invoked as part of a recursive loop. By default, Lambda sets your function's configuration to Terminate. If your design intentionally uses a Lambda function to write data back to the same Amazon Web Services resource that invokes the function, then use caution and implement suitable guard rails to prevent unexpected charges being billed to your Amazon Web Services account. To learn more about best practices for using recursive invocation patterns, see [Recursive patterns that cause run-away Lambda functions](https://serverlessland.com/content/service/lambda/guides/aws-lambda-operator-guide/recursive-runaway) in Serverless Land. + /// This member is required. + public var recursiveLoop: LambdaClientTypes.RecursiveLoop? + + public init( + functionName: Swift.String? = nil, + recursiveLoop: LambdaClientTypes.RecursiveLoop? = nil + ) + { + self.functionName = functionName + self.recursiveLoop = recursiveLoop + } +} + +public struct PutFunctionRecursionConfigOutput { + /// The status of your function's recursive loop detection configuration. When this value is set to Allowand Lambda detects your function being invoked as part of a recursive loop, it doesn't take any action. When this value is set to Terminate and Lambda detects your function being invoked as part of a recursive loop, it stops your function being invoked and notifies you. + public var recursiveLoop: LambdaClientTypes.RecursiveLoop? + + public init( + recursiveLoop: LambdaClientTypes.RecursiveLoop? = nil + ) + { + self.recursiveLoop = recursiveLoop + } +} + public struct PutProvisionedConcurrencyConfigInput { /// The name or ARN of the Lambda function. Name formats /// @@ -7474,7 +7571,7 @@ public struct UpdateEventSourceMappingInput { public var functionName: Swift.String? /// (Kinesis, DynamoDB Streams, and Amazon SQS) A list of current response type enums applied to the event source mapping. public var functionResponseTypes: [LambdaClientTypes.FunctionResponseType]? - /// The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds. For streams and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping. Related setting: For streams and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1. + /// The maximum amount of time, in seconds, that Lambda spends gathering records before invoking the function. You can configure MaximumBatchingWindowInSeconds to any value from 0 seconds to 300 seconds in increments of seconds. For Kinesis, DynamoDB, and Amazon SQS event sources, the default batching window is 0 seconds. For Amazon MSK, Self-managed Apache Kafka, Amazon MQ, and DocumentDB event sources, the default batching window is 500 ms. Note that because you can only change MaximumBatchingWindowInSeconds in increments of seconds, you cannot revert back to the 500 ms default batching window after you have changed it. To restore the default batching window, you must create a new event source mapping. Related setting: For Kinesis, DynamoDB, and Amazon SQS event sources, when you set BatchSize to a value greater than 10, you must set MaximumBatchingWindowInSeconds to at least 1. public var maximumBatchingWindowInSeconds: Swift.Int? /// (Kinesis and DynamoDB Streams only) Discard records older than the specified age. The default value is infinite (-1). public var maximumRecordAgeInSeconds: Swift.Int? @@ -7760,7 +7857,7 @@ public struct UpdateFunctionCodeOutput { public var revisionId: Swift.String? /// The function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The ARN of the runtime and any errors that occured. public var runtimeVersionConfig: LambdaClientTypes.RuntimeVersionConfig? @@ -7902,7 +7999,7 @@ public struct UpdateFunctionConfigurationInput { public var revisionId: Swift.String? /// The Amazon Resource Name (ARN) of the function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The function's [SnapStart](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) setting. public var snapStart: LambdaClientTypes.SnapStart? @@ -8007,7 +8104,7 @@ public struct UpdateFunctionConfigurationOutput { public var revisionId: Swift.String? /// The function's execution role. public var role: Swift.String? - /// The identifier of the function's [runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. The following list includes deprecated runtimes. For more information, see [Runtime deprecation policy](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). + /// The identifier of the function's [ runtime](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). Runtime is required if the deployment package is a .zip file archive. Specifying a runtime results in an error if you're deploying a function using a container image. The following list includes deprecated runtimes. Lambda blocks creating new functions and updating existing functions shortly after each runtime is deprecated. For more information, see [Runtime use after deprecation](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-deprecation-levels). For a list of all currently supported runtimes, see [Supported runtimes](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtimes-supported). public var runtime: LambdaClientTypes.Runtime? /// The ARN of the runtime and any errors that occured. public var runtimeVersionConfig: LambdaClientTypes.RuntimeVersionConfig? @@ -8661,6 +8758,16 @@ extension GetFunctionEventInvokeConfigInput { } } +extension GetFunctionRecursionConfigInput { + + static func urlPathProvider(_ value: GetFunctionRecursionConfigInput) -> Swift.String? { + guard let functionName = value.functionName else { + return nil + } + return "/2024-08-31/functions/\(functionName.urlPercentEncoding())/recursion-config" + } +} + extension GetFunctionUrlConfigInput { static func urlPathProvider(_ value: GetFunctionUrlConfigInput) -> Swift.String? { @@ -9270,6 +9377,16 @@ extension PutFunctionEventInvokeConfigInput { } } +extension PutFunctionRecursionConfigInput { + + static func urlPathProvider(_ value: PutFunctionRecursionConfigInput) -> Swift.String? { + guard let functionName = value.functionName else { + return nil + } + return "/2024-08-31/functions/\(functionName.urlPercentEncoding())/recursion-config" + } +} + extension PutProvisionedConcurrencyConfigInput { static func urlPathProvider(_ value: PutProvisionedConcurrencyConfigInput) -> Swift.String? { @@ -9697,6 +9814,14 @@ extension PutFunctionEventInvokeConfigInput { } } +extension PutFunctionRecursionConfigInput { + + static func write(value: PutFunctionRecursionConfigInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["RecursiveLoop"].write(value.recursiveLoop) + } +} + extension PutProvisionedConcurrencyConfigInput { static func write(value: PutProvisionedConcurrencyConfigInput?, to writer: SmithyJSON.Writer) throws { @@ -10266,6 +10391,18 @@ extension GetFunctionEventInvokeConfigOutput { } } +extension GetFunctionRecursionConfigOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetFunctionRecursionConfigOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetFunctionRecursionConfigOutput() + value.recursiveLoop = try reader["RecursiveLoop"].readIfPresent() + return value + } +} + extension GetFunctionUrlConfigOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetFunctionUrlConfigOutput { @@ -10699,6 +10836,18 @@ extension PutFunctionEventInvokeConfigOutput { } } +extension PutFunctionRecursionConfigOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> PutFunctionRecursionConfigOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = PutFunctionRecursionConfigOutput() + value.recursiveLoop = try reader["RecursiveLoop"].readIfPresent() + return value + } +} + extension PutProvisionedConcurrencyConfigOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> PutProvisionedConcurrencyConfigOutput { @@ -11410,6 +11559,23 @@ enum GetFunctionEventInvokeConfigOutputError { } } +enum GetFunctionRecursionConfigOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "InvalidParameterValueException": return try InvalidParameterValueException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceException": return try ServiceException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetFunctionUrlConfigOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -11926,6 +12092,24 @@ enum PutFunctionEventInvokeConfigOutputError { } } +enum PutFunctionRecursionConfigOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "InvalidParameterValueException": return try InvalidParameterValueException.makeError(baseError: baseError) + case "ResourceConflictException": return try ResourceConflictException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceException": return try ServiceException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum PutProvisionedConcurrencyConfigOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { diff --git a/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/Models.swift b/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/Models.swift index c96363d9224..bd906c0e213 100644 --- a/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/Models.swift +++ b/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/Models.swift @@ -180,6 +180,8 @@ extension SsmSapClientTypes { public var appRegistryArn: Swift.String? /// The Amazon Resource Name (ARN) of the application. public var arn: Swift.String? + /// The Amazon Resource Names of the associated AWS Systems Manager for SAP applications. + public var associatedApplicationArns: [Swift.String]? /// The components of the application. public var components: [Swift.String]? /// The latest discovery result for the application. @@ -198,6 +200,7 @@ extension SsmSapClientTypes { public init( appRegistryArn: Swift.String? = nil, arn: Swift.String? = nil, + associatedApplicationArns: [Swift.String]? = nil, components: [Swift.String]? = nil, discoveryStatus: SsmSapClientTypes.ApplicationDiscoveryStatus? = nil, id: Swift.String? = nil, @@ -209,6 +212,7 @@ extension SsmSapClientTypes { { self.appRegistryArn = appRegistryArn self.arn = arn + self.associatedApplicationArns = associatedApplicationArns self.components = components self.discoveryStatus = discoveryStatus self.id = id @@ -1041,6 +1045,8 @@ extension SsmSapClientTypes { public var arn: Swift.String? /// The ID of the component. public var componentId: Swift.String? + /// The Amazon Resource Names of the connected AWS Systems Manager for SAP components. + public var connectedComponentArns: [Swift.String]? /// The credentials of the database. public var credentials: [SsmSapClientTypes.ApplicationCredential]? /// The ID of the SAP HANA database. @@ -1062,6 +1068,7 @@ extension SsmSapClientTypes { applicationId: Swift.String? = nil, arn: Swift.String? = nil, componentId: Swift.String? = nil, + connectedComponentArns: [Swift.String]? = nil, credentials: [SsmSapClientTypes.ApplicationCredential]? = nil, databaseId: Swift.String? = nil, databaseName: Swift.String? = nil, @@ -1075,6 +1082,7 @@ extension SsmSapClientTypes { self.applicationId = applicationId self.arn = arn self.componentId = componentId + self.connectedComponentArns = connectedComponentArns self.credentials = credentials self.databaseId = databaseId self.databaseName = databaseName @@ -3218,6 +3226,7 @@ extension SsmSapClientTypes.Application { value.components = try reader["Components"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.lastUpdated = try reader["LastUpdated"].readTimestampIfPresent(format: .epochSeconds) value.statusMessage = try reader["StatusMessage"].readIfPresent() + value.associatedApplicationArns = try reader["AssociatedApplicationArns"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -3333,6 +3342,7 @@ extension SsmSapClientTypes.Database { value.primaryHost = try reader["PrimaryHost"].readIfPresent() value.sqlPort = try reader["SQLPort"].readIfPresent() value.lastUpdated = try reader["LastUpdated"].readTimestampIfPresent(format: .epochSeconds) + value.connectedComponentArns = try reader["ConnectedComponentArns"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } }