From 2c0e732e0f70e395d222bebe5892543f140ea7f8 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 22 Apr 2024 14:34:18 -0400 Subject: [PATCH] Release v1.51.26 (2024-04-22) (#5236) Release v1.51.26 (2024-04-22) === ### Service Client Updates * `service/bedrock-agent`: Updates service API and documentation * `service/bedrock-agent-runtime`: Updates service API and documentation * `service/payment-cryptography`: Updates service API, documentation, and waiters * `service/redshift-serverless`: Updates service documentation * `service/route53profiles`: Adds new service * `service/sagemaker`: Updates service API and documentation * This release adds support for Real-Time Collaboration and Shared Space for JupyterLab App on SageMaker Studio. * `service/servicediscovery`: Updates service documentation and examples * `service/transfer`: Updates service API and documentation * Adding new API to support remote directory listing using SFTP connector --- CHANGELOG.md | 15 + aws/version.go | 2 +- .../2023-07-26/api-2.json | 264 +- .../2023-07-26/docs-2.json | 178 +- .../apis/bedrock-agent/2023-06-05/api-2.json | 62 + .../apis/bedrock-agent/2023-06-05/docs-2.json | 63 +- .../2021-09-14/api-2.json | 262 +- .../2021-09-14/docs-2.json | 110 +- .../2021-09-14/smoke.json | 6 + .../2021-09-14/waiters-2.json | 5 + .../2021-04-21/docs-2.json | 10 +- .../route53profiles/2018-05-10/api-2.json | 891 ++++ .../route53profiles/2018-05-10/docs-2.json | 475 ++ .../2018-05-10/endpoint-rule-set-1.json | 350 ++ .../2018-05-10/endpoint-tests-1.json | 314 ++ .../2018-05-10/examples-1.json | 5 + .../2018-05-10/paginators-1.json | 22 + models/apis/sagemaker/2017-07-24/api-2.json | 6 +- models/apis/sagemaker/2017-07-24/docs-2.json | 32 +- .../servicediscovery/2017-03-14/docs-2.json | 6 +- .../2017-03-14/endpoint-rule-set-1.json | 40 +- .../2017-03-14/examples-1.json | 86 + models/apis/transfer/2018-11-05/api-2.json | 59 + models/apis/transfer/2018-11-05/docs-2.json | 40 +- service/bedrockagent/api.go | 330 +- service/bedrockagentruntime/api.go | 916 +++- service/bedrockagentruntime/errors.go | 4 +- .../bedrockagentruntime/eventstream_test.go | 337 +- service/paymentcryptography/api.go | 363 +- service/redshiftserverless/api.go | 57 +- service/route53profiles/api.go | 4487 +++++++++++++++++ service/route53profiles/doc.go | 29 + service/route53profiles/errors.go | 84 + .../route53profilesiface/interface.go | 137 + service/route53profiles/service.go | 106 + service/sagemaker/api.go | 93 +- service/servicediscovery/api.go | 10 +- service/servicediscovery/examples_test.go | 148 + service/transfer/api.go | 295 +- service/transfer/transferiface/interface.go | 4 + 40 files changed, 10285 insertions(+), 418 deletions(-) create mode 100644 models/apis/payment-cryptography/2021-09-14/smoke.json create mode 100644 models/apis/payment-cryptography/2021-09-14/waiters-2.json create mode 100644 models/apis/route53profiles/2018-05-10/api-2.json create mode 100644 models/apis/route53profiles/2018-05-10/docs-2.json create mode 100644 models/apis/route53profiles/2018-05-10/endpoint-rule-set-1.json create mode 100644 models/apis/route53profiles/2018-05-10/endpoint-tests-1.json create mode 100644 models/apis/route53profiles/2018-05-10/examples-1.json create mode 100644 models/apis/route53profiles/2018-05-10/paginators-1.json create mode 100644 service/route53profiles/api.go create mode 100644 service/route53profiles/doc.go create mode 100644 service/route53profiles/errors.go create mode 100644 service/route53profiles/route53profilesiface/interface.go create mode 100644 service/route53profiles/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index ea98265a6f2..fd837801b12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.51.26 (2024-04-22) +=== + +### Service Client Updates +* `service/bedrock-agent`: Updates service API and documentation +* `service/bedrock-agent-runtime`: Updates service API and documentation +* `service/payment-cryptography`: Updates service API, documentation, and waiters +* `service/redshift-serverless`: Updates service documentation +* `service/route53profiles`: Adds new service +* `service/sagemaker`: Updates service API and documentation + * This release adds support for Real-Time Collaboration and Shared Space for JupyterLab App on SageMaker Studio. +* `service/servicediscovery`: Updates service documentation and examples +* `service/transfer`: Updates service API and documentation + * Adding new API to support remote directory listing using SFTP connector + Release v1.51.25 (2024-04-19) === diff --git a/aws/version.go b/aws/version.go index 33568b2a322..d93f257273f 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.51.25" +const SDKVersion = "1.51.26" diff --git a/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json b/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json index 1245c496c7c..bfb4fafdbb6 100644 --- a/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json +++ b/models/apis/bedrock-agent-runtime/2023-07-26/api-2.json @@ -163,6 +163,9 @@ "apiPath": { "shape": "ApiPath" }, + "function": { + "shape": "Function" + }, "parameters": { "shape": "Parameters" }, @@ -203,10 +206,102 @@ "pattern": "^[0-9a-zA-Z]+$", "type": "string" }, + "AgentVersion": { + "max": 5, + "min": 1, + "pattern": "^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$", + "type": "string" + }, + "ApiContentMap": { + "key": { + "shape": "String" + }, + "type": "map", + "value": { + "shape": "PropertyParameters" + } + }, + "ApiInvocationInput": { + "members": { + "actionGroup": { + "shape": "String" + }, + "apiPath": { + "shape": "ApiPath" + }, + "httpMethod": { + "shape": "String" + }, + "parameters": { + "shape": "ApiParameters" + }, + "requestBody": { + "shape": "ApiRequestBody" + } + }, + "required": [ + "actionGroup" + ], + "type": "structure" + }, + "ApiParameter": { + "members": { + "name": { + "shape": "String" + }, + "type": { + "shape": "String" + }, + "value": { + "shape": "String" + } + }, + "type": "structure" + }, + "ApiParameters": { + "member": { + "shape": "ApiParameter" + }, + "type": "list" + }, "ApiPath": { "sensitive": true, "type": "string" }, + "ApiRequestBody": { + "members": { + "content": { + "shape": "ApiContentMap" + } + }, + "type": "structure" + }, + "ApiResult": { + "members": { + "actionGroup": { + "shape": "String" + }, + "apiPath": { + "shape": "ApiPath" + }, + "httpMethod": { + "shape": "String" + }, + "httpStatusCode": { + "shape": "Integer" + }, + "responseBody": { + "shape": "ResponseBody" + }, + "responseState": { + "shape": "ResponseState" + } + }, + "required": [ + "actionGroup" + ], + "type": "structure" + }, "Attribution": { "members": { "citations": { @@ -271,6 +366,14 @@ }, "type": "structure" }, + "ContentBody": { + "members": { + "body": { + "shape": "String" + } + }, + "type": "structure" + }, "ContentMap": { "key": { "shape": "String" @@ -340,6 +443,67 @@ "sensitive": true, "type": "string" }, + "Function": { + "sensitive": true, + "type": "string" + }, + "FunctionInvocationInput": { + "members": { + "actionGroup": { + "shape": "String" + }, + "function": { + "shape": "String" + }, + "parameters": { + "shape": "FunctionParameters" + } + }, + "required": [ + "actionGroup" + ], + "type": "structure" + }, + "FunctionParameter": { + "members": { + "name": { + "shape": "String" + }, + "type": { + "shape": "String" + }, + "value": { + "shape": "String" + } + }, + "type": "structure" + }, + "FunctionParameters": { + "member": { + "shape": "FunctionParameter" + }, + "type": "list" + }, + "FunctionResult": { + "members": { + "actionGroup": { + "shape": "String" + }, + "function": { + "shape": "String" + }, + "responseBody": { + "shape": "ResponseBody" + }, + "responseState": { + "shape": "ResponseState" + } + }, + "required": [ + "actionGroup" + ], + "type": "structure" + }, "GeneratedResponsePart": { "members": { "textResponsePart": { @@ -382,6 +546,10 @@ "sensitive": true, "type": "string" }, + "Integer": { + "box": true, + "type": "integer" + }, "InternalServerException": { "error": { "httpStatusCode": 500 @@ -413,6 +581,38 @@ "sensitive": true, "type": "structure" }, + "InvocationInputMember": { + "members": { + "apiInvocationInput": { + "shape": "ApiInvocationInput" + }, + "functionInvocationInput": { + "shape": "FunctionInvocationInput" + } + }, + "type": "structure", + "union": true + }, + "InvocationInputs": { + "max": 5, + "member": { + "shape": "InvocationInputMember" + }, + "min": 1, + "type": "list" + }, + "InvocationResultMember": { + "members": { + "apiResult": { + "shape": "ApiResult" + }, + "functionResult": { + "shape": "FunctionResult" + } + }, + "type": "structure", + "union": true + }, "InvocationType": { "enum": [ "ACTION_GROUP", @@ -454,7 +654,6 @@ "required": [ "agentAliasId", "agentId", - "inputText", "sessionId" ], "type": "structure" @@ -722,6 +921,12 @@ }, "type": "structure" }, + "ParameterList": { + "member": { + "shape": "Parameter" + }, + "type": "list" + }, "Parameters": { "member": { "shape": "Parameter" @@ -848,6 +1053,14 @@ ], "type": "string" }, + "PropertyParameters": { + "members": { + "properties": { + "shape": "ParameterList" + } + }, + "type": "structure" + }, "Rationale": { "members": { "text": { @@ -897,6 +1110,22 @@ }, "type": "structure" }, + "ResponseBody": { + "key": { + "shape": "String" + }, + "type": "map", + "value": { + "shape": "ContentBody" + } + }, + "ResponseState": { + "enum": [ + "FAILURE", + "REPROMPT" + ], + "type": "string" + }, "ResponseStream": { "eventstream": true, "members": { @@ -921,6 +1150,9 @@ "resourceNotFoundException": { "shape": "ResourceNotFoundException" }, + "returnControl": { + "shape": "ReturnControlPayload" + }, "serviceQuotaExceededException": { "shape": "ServiceQuotaExceededException" }, @@ -1155,6 +1387,27 @@ }, "type": "list" }, + "ReturnControlInvocationResults": { + "max": 5, + "member": { + "shape": "InvocationResultMember" + }, + "min": 1, + "type": "list" + }, + "ReturnControlPayload": { + "event": true, + "members": { + "invocationId": { + "shape": "String" + }, + "invocationInputs": { + "shape": "InvocationInputs" + } + }, + "sensitive": true, + "type": "structure" + }, "SearchType": { "enum": [ "HYBRID", @@ -1192,9 +1445,15 @@ }, "SessionState": { "members": { + "invocationId": { + "shape": "String" + }, "promptSessionAttributes": { "shape": "PromptSessionAttributesMap" }, + "returnControlInvocationResults": { + "shape": "ReturnControlInvocationResults" + }, "sessionAttributes": { "shape": "SessionAttributesMap" } @@ -1328,6 +1587,9 @@ "agentId": { "shape": "AgentId" }, + "agentVersion": { + "shape": "AgentVersion" + }, "sessionId": { "shape": "SessionId" }, diff --git a/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json b/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json index 11c30ab827e..aa5ae2fdfe1 100644 --- a/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json +++ b/models/apis/bedrock-agent-runtime/2023-07-26/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "
Contains APIs related to model invocation and querying of knowledge bases.
", "operations": { - "InvokeAgent": "Sends a prompt for the agent to process and respond to.
The CLI doesn't support InvokeAgent
.
To continue the same conversation with an agent, use the same sessionId
value in the request.
To activate trace enablement, turn enableTrace
to true
. Trace enablement helps you follow the agent's reasoning process that led it to the information it processed, the actions it took, and the final result it yielded. For more information, see Trace enablement.
End a conversation by setting endSession
to true
.
Include attributes for the session or prompt in the sessionState
object.
The response is returned in the bytes
field of the chunk
object.
The attribution
object contains citations for parts of the response.
If you set enableTrace
to true
in the request, you can trace the agent's steps and reasoning process that led it to the response.
Errors are also surfaced in the response.
Sends a prompt for the agent to process and respond to. Use return control event type for function calling.
The CLI doesn't support InvokeAgent
.
To continue the same conversation with an agent, use the same sessionId
value in the request.
To activate trace enablement, turn enableTrace
to true
. Trace enablement helps you follow the agent's reasoning process that led it to the information it processed, the actions it took, and the final result it yielded. For more information, see Trace enablement.
End a conversation by setting endSession
to true
.
In the sessionState
object, you can include attributes for the session or prompt or parameters returned from the action group.
Use return control event type for function calling.
The response is returned in the bytes
field of the chunk
object.
The attribution
object contains citations for parts of the response.
If you set enableTrace
to true
in the request, you can trace the agent's steps and reasoning process that led it to the response.
Errors are also surfaced in the response.
Queries a knowledge base and retrieves information from it.
", "RetrieveAndGenerate": "Queries a knowledge base and generates responses based on the retrieved results. The response only cites sources that are relevant to the query.
" }, @@ -14,7 +14,7 @@ } }, "ActionGroupInvocationInput": { - "base": "Contains information about the action group being invoked.
", + "base": "Contains information about the action group being invoked. For more information about the possible structures, see the InvocationInput tab in OrchestrationTrace in the Amazon Bedrock User Guide.
", "refs": { "InvocationInput$actionGroupInvocationInput": "Contains information about the action group to be invoked.
" } @@ -51,10 +51,54 @@ "TracePart$agentId": "The unique identifier of the agent.
" } }, + "AgentVersion": { + "base": null, + "refs": { + "TracePart$agentVersion": "The version of the agent.
" + } + }, + "ApiContentMap": { + "base": null, + "refs": { + "ApiRequestBody$content": "The content of the request body. The key of the object in this field is a media type defining the format of the request body.
" + } + }, + "ApiInvocationInput": { + "base": "Contains information about the API operation that the agent predicts should be called.
This data type is used in the following API operations:
In the returnControl
field of the Retrieve response
Contains information about the API operation that the agent predicts should be called.
" + } + }, + "ApiParameter": { + "base": "Information about a parameter to provide to the API request.
This data type is used in the following API operations:
", + "refs": { + "ApiParameters$member": null + } + }, + "ApiParameters": { + "base": null, + "refs": { + "ApiInvocationInput$parameters": "The parameters to provide for the API request, as the agent elicited from the user.
" + } + }, "ApiPath": { "base": null, "refs": { - "ActionGroupInvocationInput$apiPath": "The path to the API to call, based off the action group.
" + "ActionGroupInvocationInput$apiPath": "The path to the API to call, based off the action group.
", + "ApiInvocationInput$apiPath": "The path to the API operation.
", + "ApiResult$apiPath": "The path to the API operation.
" + } + }, + "ApiRequestBody": { + "base": "The request body to provide for the API request, as the agent elicited from the user.
This data type is used in the following API operations:
", + "refs": { + "ApiInvocationInput$requestBody": "The request body to provide for the API request, as the agent elicited from the user.
" + } + }, + "ApiResult": { + "base": "Contains information about the API operation that was called from the action group and the response body that was returned.
This data type is used in the following API operations:
In the returnControlInvocationResults
of the Retrieve request
The result from the API response from the action group invocation.
" } }, "Attribution": { @@ -102,6 +146,12 @@ "ResponseStream$conflictException": "There was a conflict performing an operation. Resolve the conflict and retry your request.
" } }, + "ContentBody": { + "base": "Contains the body of the API response.
This data type is used in the following API operations:
In the returnControlInvocationResults
field of the Retrieve request
The text in the response to the user.
" } }, + "Function": { + "base": null, + "refs": { + "ActionGroupInvocationInput$function": "The function in the action group to call.
" + } + }, + "FunctionInvocationInput": { + "base": "Contains information about the function that the agent predicts should be called.
This data type is used in the following API operations:
In the returnControl
field of the Retrieve response
Contains information about the function that the agent predicts should be called.
" + } + }, + "FunctionParameter": { + "base": "Contains information about a parameter of the function.
This data type is used in the following API operations:
In the returnControl
field of the Retrieve response
A list of parameters of the function.
" + } + }, + "FunctionResult": { + "base": "Contains information about the function that was called from the action group and the response that was returned.
This data type is used in the following API operations:
In the returnControlInvocationResults
of the Retrieve request
The result from the function from the action group invocation.
" + } + }, "GeneratedResponsePart": { "base": "Contains metadata about a part of the generated response that is accompanied by a citation.
This data type is used in the following API operations:
Retrieve response – in the generatedResponsePart
field
RetrieveAndGenerate response – in the generatedResponsePart
field
The prompt text to send the agent.
" } }, + "Integer": { + "base": null, + "refs": { + "ApiResult$httpStatusCode": "http status code from API execution response (for example: 200, 400, 500).
" + } + }, "InternalServerException": { "base": "An internal server error occurred. Retry your request.
", "refs": { @@ -213,6 +299,24 @@ "OrchestrationTrace$invocationInput": "Contains information pertaining to the action group or knowledge base that is being invoked.
" } }, + "InvocationInputMember": { + "base": "Contains details about the API operation or function that the agent predicts should be called.
This data type is used in the following API operations:
In the returnControl
field of the Retrieve response
A list of objects that contain information about the parameters and inputs that need to be sent into the API operation or function, based on what the agent determines from its session with the user.
" + } + }, + "InvocationResultMember": { + "base": "A result from the action group invocation.
This data type is used in the following API operations:
", + "refs": { + "ReturnControlInvocationResults$member": null + } + }, "InvocationType": { "base": null, "refs": { @@ -377,11 +481,18 @@ } }, "Parameter": { - "base": "A parameter in the Lambda input event.
", + "base": "A parameter for the API request or function.
", "refs": { + "ParameterList$member": null, "Parameters$member": null } }, + "ParameterList": { + "base": null, + "refs": { + "PropertyParameters$properties": "A list of parameters in the request body.
" + } + }, "Parameters": { "base": null, "refs": { @@ -461,6 +572,12 @@ "ModelInvocationInput$type": "The step in the agent sequence.
" } }, + "PropertyParameters": { + "base": "Contains the parameters in the request body.
", + "refs": { + "ApiContentMap$value": null + } + }, "Rationale": { "base": "Contains the reasoning, based on the input, that the agent uses to justify carrying out an action group or getting information from a knowledge base.
", "refs": { @@ -481,15 +598,29 @@ } }, "RequestBody": { - "base": "The parameters in the request body for the Lambda input event.
", + "base": "The parameters in the API request body.
", "refs": { "ActionGroupInvocationInput$requestBody": "The parameters in the request body for the Lambda input event.
" } }, "ResourceNotFoundException": { - "base": "The specified resource ARN was not found. Check the ARN and try your request again.
", + "base": "The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again.
", + "refs": { + "ResponseStream$resourceNotFoundException": "The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again.
" + } + }, + "ResponseBody": { + "base": null, + "refs": { + "ApiResult$responseBody": "The response body from the API operation. The key of the object is the content type. The response may be returned directly or from the Lambda function.
", + "FunctionResult$responseBody": "The response from the function call using the parameters. The response may be returned directly or from the Lambda function.
" + } + }, + "ResponseState": { + "base": null, "refs": { - "ResponseStream$resourceNotFoundException": "The specified resource ARN was not found. Check the ARN and try your request again.
" + "ApiResult$responseState": "Controls the final response state returned to end user when API/Function execution failed. When this state is FAILURE, the request would fail with dependency failure exception. When this state is REPROMPT, the API/function response will be sent to model for re-prompt
", + "FunctionResult$responseState": "Controls the final response state returned to end user when API/Function execution failed. When this state is FAILURE, the request would fail with dependency failure exception. When this state is REPROMPT, the API/function response will be sent to model for re-prompt
" } }, "ResponseStream": { @@ -626,6 +757,18 @@ "KnowledgeBaseLookupOutput$retrievedReferences": "Contains metadata about the sources cited for the generated response.
" } }, + "ReturnControlInvocationResults": { + "base": null, + "refs": { + "SessionState$returnControlInvocationResults": "Contains information about the results from the action group invocation.
" + } + }, + "ReturnControlPayload": { + "base": "Contains information to return from the action group that the agent has predicted to invoke.
This data type is used in the following API operations:
", + "refs": { + "ResponseStream$returnControl": "Contains the parameters and information that the agent elicited from the customer to carry out an action. This information is returned to the system and can be used in your own setup for fulfilling the action.
" + } + }, "SearchType": { "base": null, "refs": { @@ -693,18 +836,37 @@ "String": { "base": null, "refs": { + "ApiContentMap$key": null, + "ApiInvocationInput$actionGroup": "The action group that the API operation belongs to.
", + "ApiInvocationInput$httpMethod": "The HTTP method of the API operation.
", + "ApiParameter$name": "The name of the parameter.
", + "ApiParameter$type": "The data type for the parameter.
", + "ApiParameter$value": "The value of the parameter.
", + "ApiResult$actionGroup": "The action group that the API operation belongs to.
", + "ApiResult$httpMethod": "The HTTP method for the API operation.
", + "ContentBody$body": "The body of the API response.
", "ContentMap$key": null, + "FunctionInvocationInput$actionGroup": "The action group that the function belongs to.
", + "FunctionInvocationInput$function": "The name of the function.
", + "FunctionParameter$name": "The name of the parameter.
", + "FunctionParameter$type": "The data type of the parameter.
", + "FunctionParameter$value": "The value of the parameter.
", + "FunctionResult$actionGroup": "The action group that the function belongs to.
", + "FunctionResult$function": "The name of the function that was called.
", "Parameter$name": "The name of the parameter.
", "Parameter$type": "The type of the parameter.
", "Parameter$value": "The value of the parameter.
", "PromptSessionAttributesMap$key": null, "PromptSessionAttributesMap$value": null, "RepromptResponse$text": "The text reprompting the input.
", + "ResponseBody$key": null, "RetrievalResultContent$text": "The cited text from the data source.
", "RetrievalResultS3Location$uri": "The S3 URI of the data source.
", "RetrieveAndGenerateOutput$text": "The response generated from querying the knowledge base.
", + "ReturnControlPayload$invocationId": "The identifier of the action group invocation.
", "SessionAttributesMap$key": null, "SessionAttributesMap$value": null, + "SessionState$invocationId": "The identifier of the invocation.
", "StopSequences$member": null, "TextResponsePart$text": "The part of the generated text that contains a citation.
" } @@ -772,7 +934,7 @@ "TracePart": { "base": "Contains information about the agent and session, alongside the agent's reasoning process and results from calling API actions and querying knowledge bases and metadata about the trace. You can use the trace to understand how the agent arrived at the response it provided the customer. For more information, see Trace enablement.
", "refs": { - "ResponseStream$trace": "Contains information about the agent and session, alongside the agent's reasoning process and results from calling API actions and querying knowledge bases and metadata about the trace. You can use the trace to understand how the agent arrived at the response it provided the customer. For more information, see Trace events.
" + "ResponseStream$trace": "Contains information about the agent and session, alongside the agent's reasoning process and results from calling actions and querying knowledge bases and metadata about the trace. You can use the trace to understand how the agent arrived at the response it provided the customer. For more information, see Trace events.
" } }, "Type": { diff --git a/models/apis/bedrock-agent/2023-06-05/api-2.json b/models/apis/bedrock-agent/2023-06-05/api-2.json index be00edf7b52..6356fe25cd2 100644 --- a/models/apis/bedrock-agent/2023-06-05/api-2.json +++ b/models/apis/bedrock-agent/2023-06-05/api-2.json @@ -765,6 +765,7 @@ "ActionGroupExecutor":{ "type":"structure", "members":{ + "customControl":{"shape":"CustomControlMethod"}, "lambda":{"shape":"LambdaArn"} }, "union":true @@ -858,6 +859,7 @@ "clientToken":{"shape":"ClientToken"}, "createdAt":{"shape":"DateTimestamp"}, "description":{"shape":"Description"}, + "functionSchema":{"shape":"FunctionSchema"}, "parentActionSignature":{"shape":"ActionGroupSignature"}, "updatedAt":{"shape":"DateTimestamp"} } @@ -1218,6 +1220,7 @@ "idempotencyToken":true }, "description":{"shape":"Description"}, + "functionSchema":{"shape":"FunctionSchema"}, "parentActionGroupSignature":{"shape":"ActionGroupSignature"} } }, @@ -1349,6 +1352,10 @@ "OVERRIDDEN" ] }, + "CustomControlMethod":{ + "type":"string", + "enum":["RETURN_CONTROL"] + }, "DataSource":{ "type":"structure", "required":[ @@ -1683,6 +1690,31 @@ "max":99, "min":1 }, + "Function":{ + "type":"structure", + "required":["name"], + "members":{ + "description":{"shape":"FunctionDescription"}, + "name":{"shape":"Name"}, + "parameters":{"shape":"ParameterMap"} + } + }, + "FunctionDescription":{ + "type":"string", + "max":1200, + "min":1 + }, + "FunctionSchema":{ + "type":"structure", + "members":{ + "functions":{"shape":"Functions"} + }, + "union":true + }, + "Functions":{ + "type":"list", + "member":{"shape":"Function"} + }, "GetAgentActionGroupRequest":{ "type":"structure", "required":[ @@ -2429,6 +2461,25 @@ "min":0, "pattern":"^.*$" }, + "ParameterDescription":{ + "type":"string", + "max":500, + "min":1 + }, + "ParameterDetail":{ + "type":"structure", + "required":["type"], + "members":{ + "description":{"shape":"ParameterDescription"}, + "required":{"shape":"Boolean"}, + "type":{"shape":"Type"} + } + }, + "ParameterMap":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"ParameterDetail"} + }, "Payload":{ "type":"string", "sensitive":true @@ -2854,6 +2905,16 @@ "max":1, "min":0 }, + "Type":{ + "type":"string", + "enum":[ + "string", + "number", + "integer", + "boolean", + "array" + ] + }, "UntagResourceRequest":{ "type":"structure", "required":[ @@ -2907,6 +2968,7 @@ }, "apiSchema":{"shape":"APISchema"}, "description":{"shape":"Description"}, + "functionSchema":{"shape":"FunctionSchema"}, "parentActionGroupSignature":{"shape":"ActionGroupSignature"} } }, diff --git a/models/apis/bedrock-agent/2023-06-05/docs-2.json b/models/apis/bedrock-agent/2023-06-05/docs-2.json index 4f1dbe071b2..4ca213995d5 100644 --- a/models/apis/bedrock-agent/2023-06-05/docs-2.json +++ b/models/apis/bedrock-agent/2023-06-05/docs-2.json @@ -288,7 +288,8 @@ "refs": { "DeleteAgentActionGroupRequest$skipResourceInUseCheck": "By default, this value is false
and deletion is stopped if the resource is in use. If you set it to true
, the resource will be deleted even if the resource is in use.
By default, this value is false
and deletion is stopped if the resource is in use. If you set it to true
, the resource will be deleted even if the resource is in use.
By default, this value is false
and deletion is stopped if the resource is in use. If you set it to true
, the resource will be deleted even if the resource is in use.
By default, this value is false
and deletion is stopped if the resource is in use. If you set it to true
, the resource will be deleted even if the resource is in use.
Whether the parameter is required for the agent to complete the function for action group invocation.
" } }, "ChunkingConfiguration": { @@ -388,6 +389,12 @@ "PromptConfiguration$promptCreationMode": "Specifies whether to override the default prompt template for this promptType
. Set this value to OVERRIDDEN
to use the prompt that you provide in the basePromptTemplate
. If you leave it as DEFAULT
, the agent uses a default prompt template.
To return the action group invocation results directly in the InvokeAgent
response, specify RETURN_CONTROL
.
Contains details about a data source.
", "refs": { @@ -628,6 +635,32 @@ "FixedSizeChunkingConfiguration$overlapPercentage": "The percentage of overlap between adjacent chunks of a data source.
" } }, + "Function": { + "base": "Defines parameters that the agent needs to invoke from the user to complete the function. Corresponds to an action in an action group.
This data type is used in the following API operations:
A description of the function and its purpose.
" + } + }, + "FunctionSchema": { + "base": "Defines functions that each define parameters that the agent needs to invoke from the user. Each function represents an action in an action group.
This data type is used in the following API operations:
Defines functions that each define parameters that the agent needs to invoke from the user. Each function represents an action in an action group.
", + "CreateAgentActionGroupRequest$functionSchema": "Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.
", + "UpdateAgentActionGroupRequest$functionSchema": "Contains details about the function schema for the action group or the JSON or YAML-formatted payload defining the schema.
" + } + }, + "Functions": { + "base": null, + "refs": { + "FunctionSchema$functions": "A list of functions that each define an action in the action group.
" + } + }, "GetAgentActionGroupRequest": { "base": null, "refs": { @@ -796,7 +829,7 @@ } }, "IngestionJob": { - "base": "Contains details about an ingestion job, which converts a data source to embeddings for a vector store in knowledge base.
This data type is used in the following API operations:
", + "base": "Contains details about an ingestion job, which converts a data source to embeddings for a vector store in knowledge base.
This data type is used in the following API operations:
", "refs": { "GetIngestionJobResponse$ingestionJob": "Contains details about the ingestion job.
", "StartIngestionJobResponse$ingestionJob": "An object containing information about the ingestion job.
" @@ -1114,8 +1147,10 @@ "CreateKnowledgeBaseRequest$name": "A name for the knowledge base.
", "DataSource$name": "The name of the data source.
", "DataSourceSummary$name": "The name of the data source.
", + "Function$name": "A name for the function.
", "KnowledgeBase$name": "The name of the knowledge base.
", "KnowledgeBaseSummary$name": "The name of the knowledge base.
", + "ParameterMap$key": null, "UpdateAgentActionGroupRequest$actionGroupName": "Specifies a new name for the action group.
", "UpdateAgentAliasRequest$agentAliasName": "Specifies a new name for the alias.
", "UpdateAgentRequest$agentName": "Specifies a new name for the agent.
", @@ -1191,6 +1226,24 @@ "OpenSearchServerlessConfiguration$vectorIndexName": "The name of the vector store.
" } }, + "ParameterDescription": { + "base": null, + "refs": { + "ParameterDetail$description": "A description of the parameter. Helps the foundation model determine how to elicit the parameters from the user.
" + } + }, + "ParameterDetail": { + "base": "Contains details about a parameter in a function for an action group.
This data type is used in the following API operations:
The parameters that the agent elicits from the user to fulfill the function.
" + } + }, "Payload": { "base": null, "refs": { @@ -1526,6 +1579,12 @@ "InferenceConfiguration$topP": "While generating a response, the model determines the probability of the following token at each point of generation. The value that you set for Top P
determines the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set topP
to 80, the model only selects the next token from the top 80% of the probability distribution of next tokens.
The data type of the parameter.
" + } + }, "UntagResourceRequest": { "base": null, "refs": { diff --git a/models/apis/payment-cryptography/2021-09-14/api-2.json b/models/apis/payment-cryptography/2021-09-14/api-2.json index 7326c64690d..907838d3900 100644 --- a/models/apis/payment-cryptography/2021-09-14/api-2.json +++ b/models/apis/payment-cryptography/2021-09-14/api-2.json @@ -400,7 +400,7 @@ "type":"string", "max":256, "min":7, - "pattern":"^alias/[a-zA-Z0-9/_-]+$" + "pattern":"alias/[a-zA-Z0-9/_-]+" }, "Aliases":{ "type":"list", @@ -414,7 +414,7 @@ "type":"string", "max":32768, "min":1, - "pattern":"^[^\\[;\\]<>]+$", + "pattern":"[^\\[;\\]<>]+", "sensitive":true }, "ConflictException":{ @@ -442,14 +442,14 @@ "CreateKeyInput":{ "type":"structure", "required":[ - "Exportable", - "KeyAttributes" + "KeyAttributes", + "Exportable" ], "members":{ - "Enabled":{"shape":"Boolean"}, - "Exportable":{"shape":"Boolean"}, "KeyAttributes":{"shape":"KeyAttributes"}, "KeyCheckValueAlgorithm":{"shape":"KeyCheckValueAlgorithm"}, + "Exportable":{"shape":"Boolean"}, + "Enabled":{"shape":"Boolean"}, "Tags":{"shape":"Tags"} } }, @@ -476,8 +476,8 @@ "type":"structure", "required":["KeyIdentifier"], "members":{ - "DeleteKeyInDays":{"shape":"DeleteKeyInputDeleteKeyInDaysInteger"}, - "KeyIdentifier":{"shape":"KeyArnOrKeyAliasType"} + "KeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, + "DeleteKeyInDays":{"shape":"DeleteKeyInputDeleteKeyInDaysInteger"} } }, "DeleteKeyInputDeleteKeyInDaysInteger":{ @@ -522,21 +522,21 @@ "ExportKeyInput":{ "type":"structure", "required":[ - "ExportKeyIdentifier", - "KeyMaterial" + "KeyMaterial", + "ExportKeyIdentifier" ], "members":{ - "ExportAttributes":{"shape":"ExportAttributes"}, + "KeyMaterial":{"shape":"ExportKeyMaterial"}, "ExportKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, - "KeyMaterial":{"shape":"ExportKeyMaterial"} + "ExportAttributes":{"shape":"ExportAttributes"} } }, "ExportKeyMaterial":{ "type":"structure", "members":{ - "KeyCryptogram":{"shape":"ExportKeyCryptogram"}, "Tr31KeyBlock":{"shape":"ExportTr31KeyBlock"}, - "Tr34KeyBlock":{"shape":"ExportTr34KeyBlock"} + "Tr34KeyBlock":{"shape":"ExportTr34KeyBlock"}, + "KeyCryptogram":{"shape":"ExportKeyCryptogram"} }, "union":true }, @@ -548,29 +548,31 @@ }, "ExportTokenId":{ "type":"string", - "pattern":"^export-token-[0-9a-zA-Z]{16,64}$" + "pattern":"export-token-[0-9a-zA-Z]{16,64}" }, "ExportTr31KeyBlock":{ "type":"structure", "required":["WrappingKeyIdentifier"], "members":{ - "WrappingKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"} + "WrappingKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, + "KeyBlockHeaders":{"shape":"KeyBlockHeaders"} } }, "ExportTr34KeyBlock":{ "type":"structure", "required":[ "CertificateAuthorityPublicKeyIdentifier", + "WrappingKeyCertificate", "ExportToken", - "KeyBlockFormat", - "WrappingKeyCertificate" + "KeyBlockFormat" ], "members":{ "CertificateAuthorityPublicKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, + "WrappingKeyCertificate":{"shape":"CertificateType"}, "ExportToken":{"shape":"ExportTokenId"}, "KeyBlockFormat":{"shape":"Tr34KeyBlockFormat"}, "RandomNonce":{"shape":"HexLength16"}, - "WrappingKeyCertificate":{"shape":"CertificateType"} + "KeyBlockHeaders":{"shape":"KeyBlockHeaders"} } }, "GetAliasInput":{ @@ -615,18 +617,18 @@ "GetParametersForExportOutput":{ "type":"structure", "required":[ - "ExportToken", - "ParametersValidUntilTimestamp", - "SigningKeyAlgorithm", "SigningKeyCertificate", - "SigningKeyCertificateChain" + "SigningKeyCertificateChain", + "SigningKeyAlgorithm", + "ExportToken", + "ParametersValidUntilTimestamp" ], "members":{ - "ExportToken":{"shape":"ExportTokenId"}, - "ParametersValidUntilTimestamp":{"shape":"Timestamp"}, - "SigningKeyAlgorithm":{"shape":"KeyAlgorithm"}, "SigningKeyCertificate":{"shape":"CertificateType"}, - "SigningKeyCertificateChain":{"shape":"CertificateType"} + "SigningKeyCertificateChain":{"shape":"CertificateType"}, + "SigningKeyAlgorithm":{"shape":"KeyAlgorithm"}, + "ExportToken":{"shape":"ExportTokenId"}, + "ParametersValidUntilTimestamp":{"shape":"Timestamp"} } }, "GetParametersForImportInput":{ @@ -643,18 +645,18 @@ "GetParametersForImportOutput":{ "type":"structure", "required":[ - "ImportToken", - "ParametersValidUntilTimestamp", - "WrappingKeyAlgorithm", "WrappingKeyCertificate", - "WrappingKeyCertificateChain" + "WrappingKeyCertificateChain", + "WrappingKeyAlgorithm", + "ImportToken", + "ParametersValidUntilTimestamp" ], "members":{ - "ImportToken":{"shape":"ImportTokenId"}, - "ParametersValidUntilTimestamp":{"shape":"Timestamp"}, - "WrappingKeyAlgorithm":{"shape":"KeyAlgorithm"}, "WrappingKeyCertificate":{"shape":"CertificateType"}, - "WrappingKeyCertificateChain":{"shape":"CertificateType"} + "WrappingKeyCertificateChain":{"shape":"CertificateType"}, + "WrappingKeyAlgorithm":{"shape":"KeyAlgorithm"}, + "ImportToken":{"shape":"ImportTokenId"}, + "ParametersValidUntilTimestamp":{"shape":"Timestamp"} } }, "GetPublicKeyCertificateInput":{ @@ -679,27 +681,27 @@ "type":"string", "max":16, "min":16, - "pattern":"^[0-9A-F]+$" + "pattern":"[0-9A-F]+" }, "HexLength20Or24":{ "type":"string", "max":24, "min":20, - "pattern":"^[0-9A-F]{20}$|^[0-9A-F]{24}$" + "pattern":"[0-9A-F]{20}$|^[0-9A-F]{24}" }, "ImportKeyCryptogram":{ "type":"structure", "required":[ - "Exportable", - "ImportToken", "KeyAttributes", - "WrappedKeyCryptogram" + "Exportable", + "WrappedKeyCryptogram", + "ImportToken" ], "members":{ - "Exportable":{"shape":"Boolean"}, - "ImportToken":{"shape":"ImportTokenId"}, "KeyAttributes":{"shape":"KeyAttributes"}, + "Exportable":{"shape":"Boolean"}, "WrappedKeyCryptogram":{"shape":"WrappedKeyCryptogram"}, + "ImportToken":{"shape":"ImportTokenId"}, "WrappingSpec":{"shape":"WrappingKeySpec"} } }, @@ -707,20 +709,20 @@ "type":"structure", "required":["KeyMaterial"], "members":{ - "Enabled":{"shape":"Boolean"}, - "KeyCheckValueAlgorithm":{"shape":"KeyCheckValueAlgorithm"}, "KeyMaterial":{"shape":"ImportKeyMaterial"}, + "KeyCheckValueAlgorithm":{"shape":"KeyCheckValueAlgorithm"}, + "Enabled":{"shape":"Boolean"}, "Tags":{"shape":"Tags"} } }, "ImportKeyMaterial":{ "type":"structure", "members":{ - "KeyCryptogram":{"shape":"ImportKeyCryptogram"}, "RootCertificatePublicKey":{"shape":"RootCertificatePublicKey"}, + "TrustedCertificatePublicKey":{"shape":"TrustedCertificatePublicKey"}, "Tr31KeyBlock":{"shape":"ImportTr31KeyBlock"}, "Tr34KeyBlock":{"shape":"ImportTr34KeyBlock"}, - "TrustedCertificatePublicKey":{"shape":"TrustedCertificatePublicKey"} + "KeyCryptogram":{"shape":"ImportKeyCryptogram"} }, "union":true }, @@ -733,35 +735,35 @@ }, "ImportTokenId":{ "type":"string", - "pattern":"^import-token-[0-9a-zA-Z]{16,64}$" + "pattern":"import-token-[0-9a-zA-Z]{16,64}" }, "ImportTr31KeyBlock":{ "type":"structure", "required":[ - "WrappedKeyBlock", - "WrappingKeyIdentifier" + "WrappingKeyIdentifier", + "WrappedKeyBlock" ], "members":{ - "WrappedKeyBlock":{"shape":"Tr31WrappedKeyBlock"}, - "WrappingKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"} + "WrappingKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, + "WrappedKeyBlock":{"shape":"Tr31WrappedKeyBlock"} } }, "ImportTr34KeyBlock":{ "type":"structure", "required":[ "CertificateAuthorityPublicKeyIdentifier", - "ImportToken", - "KeyBlockFormat", "SigningKeyCertificate", - "WrappedKeyBlock" + "ImportToken", + "WrappedKeyBlock", + "KeyBlockFormat" ], "members":{ "CertificateAuthorityPublicKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, + "SigningKeyCertificate":{"shape":"CertificateType"}, "ImportToken":{"shape":"ImportTokenId"}, + "WrappedKeyBlock":{"shape":"Tr34WrappedKeyBlock"}, "KeyBlockFormat":{"shape":"Tr34KeyBlockFormat"}, - "RandomNonce":{"shape":"HexLength16"}, - "SigningKeyCertificate":{"shape":"CertificateType"}, - "WrappedKeyBlock":{"shape":"Tr34WrappedKeyBlock"} + "RandomNonce":{"shape":"HexLength16"} } }, "InternalServerException":{ @@ -775,30 +777,30 @@ "Key":{ "type":"structure", "required":[ - "CreateTimestamp", - "Enabled", - "Exportable", "KeyArn", "KeyAttributes", "KeyCheckValue", "KeyCheckValueAlgorithm", + "Enabled", + "Exportable", + "KeyState", "KeyOrigin", - "KeyState" + "CreateTimestamp" ], "members":{ - "CreateTimestamp":{"shape":"Timestamp"}, - "DeletePendingTimestamp":{"shape":"Timestamp"}, - "DeleteTimestamp":{"shape":"Timestamp"}, - "Enabled":{"shape":"Boolean"}, - "Exportable":{"shape":"Boolean"}, "KeyArn":{"shape":"KeyArn"}, "KeyAttributes":{"shape":"KeyAttributes"}, "KeyCheckValue":{"shape":"KeyCheckValue"}, "KeyCheckValueAlgorithm":{"shape":"KeyCheckValueAlgorithm"}, - "KeyOrigin":{"shape":"KeyOrigin"}, + "Enabled":{"shape":"Boolean"}, + "Exportable":{"shape":"Boolean"}, "KeyState":{"shape":"KeyState"}, + "KeyOrigin":{"shape":"KeyOrigin"}, + "CreateTimestamp":{"shape":"Timestamp"}, "UsageStartTimestamp":{"shape":"Timestamp"}, - "UsageStopTimestamp":{"shape":"Timestamp"} + "UsageStopTimestamp":{"shape":"Timestamp"}, + "DeletePendingTimestamp":{"shape":"Timestamp"}, + "DeleteTimestamp":{"shape":"Timestamp"} } }, "KeyAlgorithm":{ @@ -818,34 +820,43 @@ "type":"string", "max":150, "min":70, - "pattern":"^arn:aws:payment-cryptography:[a-z]{2}-[a-z]{1,16}-[0-9]+:[0-9]{12}:key/[0-9a-zA-Z]{16,64}$" + "pattern":"arn:aws:payment-cryptography:[a-z]{2}-[a-z]{1,16}-[0-9]+:[0-9]{12}:key/[0-9a-zA-Z]{16,64}" }, "KeyArnOrKeyAliasType":{ "type":"string", "max":322, "min":7, - "pattern":"^arn:aws:payment-cryptography:[a-z]{2}-[a-z]{1,16}-[0-9]+:[0-9]{12}:(key/[0-9a-zA-Z]{16,64}|alias/[a-zA-Z0-9/_-]+)$|^alias/[a-zA-Z0-9/_-]+$" + "pattern":"arn:aws:payment-cryptography:[a-z]{2}-[a-z]{1,16}-[0-9]+:[0-9]{12}:(key/[0-9a-zA-Z]{16,64}|alias/[a-zA-Z0-9/_-]+)$|^alias/[a-zA-Z0-9/_-]+" }, "KeyAttributes":{ "type":"structure", "required":[ - "KeyAlgorithm", + "KeyUsage", "KeyClass", - "KeyModesOfUse", - "KeyUsage" + "KeyAlgorithm", + "KeyModesOfUse" ], "members":{ - "KeyAlgorithm":{"shape":"KeyAlgorithm"}, + "KeyUsage":{"shape":"KeyUsage"}, "KeyClass":{"shape":"KeyClass"}, + "KeyAlgorithm":{"shape":"KeyAlgorithm"}, + "KeyModesOfUse":{"shape":"KeyModesOfUse"} + } + }, + "KeyBlockHeaders":{ + "type":"structure", + "members":{ "KeyModesOfUse":{"shape":"KeyModesOfUse"}, - "KeyUsage":{"shape":"KeyUsage"} + "KeyExportability":{"shape":"KeyExportability"}, + "KeyVersion":{"shape":"KeyVersion"}, + "OptionalBlocks":{"shape":"OptionalBlocks"} } }, "KeyCheckValue":{ "type":"string", "max":16, "min":4, - "pattern":"^[0-9a-fA-F]+$" + "pattern":"[0-9a-fA-F]+" }, "KeyCheckValueAlgorithm":{ "type":"string", @@ -863,6 +874,14 @@ "PUBLIC_KEY" ] }, + "KeyExportability":{ + "type":"string", + "enum":[ + "EXPORTABLE", + "NON_EXPORTABLE", + "SENSITIVE" + ] + }, "KeyMaterial":{ "type":"string", "max":16384, @@ -882,15 +901,15 @@ "KeyModesOfUse":{ "type":"structure", "members":{ - "Decrypt":{"shape":"PrimitiveBoolean"}, - "DeriveKey":{"shape":"PrimitiveBoolean"}, "Encrypt":{"shape":"PrimitiveBoolean"}, + "Decrypt":{"shape":"PrimitiveBoolean"}, + "Wrap":{"shape":"PrimitiveBoolean"}, + "Unwrap":{"shape":"PrimitiveBoolean"}, "Generate":{"shape":"PrimitiveBoolean"}, - "NoRestrictions":{"shape":"PrimitiveBoolean"}, "Sign":{"shape":"PrimitiveBoolean"}, - "Unwrap":{"shape":"PrimitiveBoolean"}, "Verify":{"shape":"PrimitiveBoolean"}, - "Wrap":{"shape":"PrimitiveBoolean"} + "DeriveKey":{"shape":"PrimitiveBoolean"}, + "NoRestrictions":{"shape":"PrimitiveBoolean"} } }, "KeyOrigin":{ @@ -912,20 +931,20 @@ "KeySummary":{ "type":"structure", "required":[ - "Enabled", - "Exportable", "KeyArn", + "KeyState", "KeyAttributes", "KeyCheckValue", - "KeyState" + "Exportable", + "Enabled" ], "members":{ - "Enabled":{"shape":"Boolean"}, - "Exportable":{"shape":"Boolean"}, "KeyArn":{"shape":"KeyArn"}, + "KeyState":{"shape":"KeyState"}, "KeyAttributes":{"shape":"KeyAttributes"}, "KeyCheckValue":{"shape":"KeyCheckValue"}, - "KeyState":{"shape":"KeyState"} + "Exportable":{"shape":"Boolean"}, + "Enabled":{"shape":"Boolean"} } }, "KeySummaryList":{ @@ -960,11 +979,17 @@ "TR31_K2_TR34_ASYMMETRIC_KEY" ] }, + "KeyVersion":{ + "type":"string", + "max":2, + "min":2, + "pattern":"[0-9A-Z]{2}+" + }, "ListAliasesInput":{ "type":"structure", "members":{ - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} } }, "ListAliasesOutput":{ @@ -979,8 +1004,8 @@ "type":"structure", "members":{ "KeyState":{"shape":"KeyState"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"MaxResults"} } }, "ListKeysOutput":{ @@ -995,17 +1020,17 @@ "type":"structure", "required":["ResourceArn"], "members":{ - "MaxResults":{"shape":"MaxResults"}, + "ResourceArn":{"shape":"ResourceArn"}, "NextToken":{"shape":"NextToken"}, - "ResourceArn":{"shape":"ResourceArn"} + "MaxResults":{"shape":"MaxResults"} } }, "ListTagsForResourceOutput":{ "type":"structure", "required":["Tags"], "members":{ - "NextToken":{"shape":"NextToken"}, - "Tags":{"shape":"Tags"} + "Tags":{"shape":"Tags"}, + "NextToken":{"shape":"NextToken"} } }, "MaxResults":{ @@ -1019,12 +1044,31 @@ "max":8192, "min":1 }, + "OptionalBlockId":{ + "type":"string", + "max":2, + "min":2, + "pattern":"[0-9A-Z]{2}+", + "sensitive":true + }, + "OptionalBlockValue":{ + "type":"string", + "max":108, + "min":1, + "pattern":"[0-9A-Z]+", + "sensitive":true + }, + "OptionalBlocks":{ + "type":"map", + "key":{"shape":"OptionalBlockId"}, + "value":{"shape":"OptionalBlockValue"} + }, "PrimitiveBoolean":{"type":"boolean"}, "ResourceArn":{ "type":"string", "max":150, "min":70, - "pattern":"^arn:aws:payment-cryptography:[a-z]{2}-[a-z]{1,16}-[0-9]+:[0-9]{12}:key/[0-9a-zA-Z]{16,64}$" + "pattern":"arn:aws:payment-cryptography:[a-z]{2}-[a-z]{1,16}-[0-9]+:[0-9]{12}:key/[0-9a-zA-Z]{16,64}" }, "ResourceNotFoundException":{ "type":"structure", @@ -1160,7 +1204,7 @@ "type":"string", "max":9984, "min":56, - "pattern":"^[0-9A-Z]+$" + "pattern":"[0-9A-Z]+" }, "Tr34KeyBlockFormat":{ "type":"string", @@ -1170,19 +1214,19 @@ "type":"string", "max":4096, "min":2, - "pattern":"^[0-9A-F]+$" + "pattern":"[0-9A-F]+" }, "TrustedCertificatePublicKey":{ "type":"structure", "required":[ - "CertificateAuthorityPublicKeyIdentifier", "KeyAttributes", - "PublicKeyCertificate" + "PublicKeyCertificate", + "CertificateAuthorityPublicKeyIdentifier" ], "members":{ - "CertificateAuthorityPublicKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"}, "KeyAttributes":{"shape":"KeyAttributes"}, - "PublicKeyCertificate":{"shape":"CertificateType"} + "PublicKeyCertificate":{"shape":"CertificateType"}, + "CertificateAuthorityPublicKeyIdentifier":{"shape":"KeyArnOrKeyAliasType"} } }, "UntagResourceInput":{ @@ -1226,23 +1270,23 @@ "WrappedKey":{ "type":"structure", "required":[ - "KeyMaterial", + "WrappingKeyArn", "WrappedKeyMaterialFormat", - "WrappingKeyArn" + "KeyMaterial" ], "members":{ - "KeyCheckValue":{"shape":"KeyCheckValue"}, - "KeyCheckValueAlgorithm":{"shape":"KeyCheckValueAlgorithm"}, - "KeyMaterial":{"shape":"KeyMaterial"}, + "WrappingKeyArn":{"shape":"KeyArn"}, "WrappedKeyMaterialFormat":{"shape":"WrappedKeyMaterialFormat"}, - "WrappingKeyArn":{"shape":"KeyArn"} + "KeyMaterial":{"shape":"KeyMaterial"}, + "KeyCheckValue":{"shape":"KeyCheckValue"}, + "KeyCheckValueAlgorithm":{"shape":"KeyCheckValueAlgorithm"} } }, "WrappedKeyCryptogram":{ "type":"string", "max":4096, "min":16, - "pattern":"^[0-9A-F]+$" + "pattern":"[0-9A-F]+" }, "WrappedKeyMaterialFormat":{ "type":"string", diff --git a/models/apis/payment-cryptography/2021-09-14/docs-2.json b/models/apis/payment-cryptography/2021-09-14/docs-2.json index 451a3f79a8e..881d22a3434 100644 --- a/models/apis/payment-cryptography/2021-09-14/docs-2.json +++ b/models/apis/payment-cryptography/2021-09-14/docs-2.json @@ -2,26 +2,26 @@ "version": "2.0", "service": "Amazon Web Services Payment Cryptography Control Plane APIs manage encryption keys for use during payment-related cryptographic operations. You can create, import, export, share, manage, and delete keys. You can also manage Identity and Access Management (IAM) policies for keys. For more information, see Identity and access management in the Amazon Web Services Payment Cryptography User Guide.
To use encryption keys for payment-related transaction processing and associated cryptographic operations, you use the Amazon Web Services Payment Cryptography Data Plane. You can perform actions like encrypt, decrypt, generate, and verify payment-related data.
All Amazon Web Services Payment Cryptography API calls must be signed and transmitted using Transport Layer Security (TLS). We recommend you always use the latest supported TLS version for logging API requests.
Amazon Web Services Payment Cryptography supports CloudTrail for control plane operations, a service that logs Amazon Web Services API calls and related events for your Amazon Web Services account and delivers them to an Amazon S3 bucket you specify. By using the information collected by CloudTrail, you can determine what requests were made to Amazon Web Services Payment Cryptography, who made the request, when it was made, and so on. If you don't configure a trail, you can still view the most recent events in the CloudTrail console. For more information, see the CloudTrail User Guide.
", "operations": { - "CreateAlias": "Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography key. You can use an alias to identify a key in the console and when you call cryptographic operations such as EncryptData or DecryptData.
You can associate the alias with any key in the same Amazon Web Services Region. Each alias is associated with only one key at a time, but a key can have multiple aliases. You can't create an alias without a key. The alias must be unique in the account and Amazon Web Services Region, but you can create another alias with the same name in a different Amazon Web Services Region.
To change the key that's associated with the alias, call UpdateAlias. To delete the alias, call DeleteAlias. These operations don't affect the underlying key. To get the alias that you created, call ListAliases.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "CreateKey": "Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.
In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.
When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY
), key algorithm (example: TDES_2KEY
), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY
) and key modes of use (example: Encrypt
). For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.
Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "DeleteAlias": "Deletes the alias, but doesn't affect the underlying key.
Each key can have multiple aliases. To get the aliases of all keys, use the ListAliases operation. To change the alias of a key, first use DeleteAlias to delete the current alias and then use CreateAlias to create a new alias. To associate an existing alias with a different key, call UpdateAlias.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "DeleteKey": "Deletes the key material and metadata associated with Amazon Web Services Payment Cryptography key.
Key deletion is irreversible. After a key is deleted, you can't perform cryptographic operations using the key. For example, you can't decrypt data that was encrypted by a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable. Because key deletion is destructive, Amazon Web Services Payment Cryptography has a safety mechanism to prevent accidental deletion of a key. When you call this operation, Amazon Web Services Payment Cryptography disables the specified key but doesn't delete it until after a waiting period set using DeleteKeyInDays
. The default waiting period is 7 days. During the waiting period, the KeyState
is DELETE_PENDING
. After the key is deleted, the KeyState
is DELETE_COMPLETE
.
You should delete a key only when you are sure that you don't need to use it anymore and no other parties are utilizing this key. If you aren't sure, consider deactivating it instead by calling StopKeyUsage.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "ExportKey": "Exports a key from Amazon Web Services Payment Cryptography.
Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey
you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography
For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanism. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.
The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.
You can also use ExportKey
functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey
attribute KSN (KeySerialNumber
). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.
To export initial keys (KEK) or IPEK using TR-34
Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.
To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 7 days.
Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey
. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.
Set the following parameters:
ExportAttributes
: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.
ExportKeyIdentifier
: The KeyARN
of the KEK or BDK (in case of IPEK) under export.
KeyMaterial
: Use Tr34KeyBlock
parameters.
CertificateAuthorityPublicKeyIdentifier
: The KeyARN
of the certificate chain that signed the KRD wrapping key certificate.
ExportToken
: Obtained from KDH by calling GetParametersForImport.
WrappingKeyCertificate
: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.
When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.
To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap
Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey
.
Next call ExportKey
and set the following parameters:
CertificateAuthorityPublicKeyIdentifier
: The KeyARN
of the certificate chain that signed wrapping key certificate.
KeyMaterial
: Set to KeyCryptogram
.
WrappingKeyCertificate
: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.
When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.
To export working keys or IPEK using TR-31
Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.
Set the following parameters:
ExportAttributes
: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.
ExportKeyIdentifier
: The KeyARN
of the KEK or BDK (in case of IPEK) under export.
KeyMaterial
: Use Tr31KeyBlock
parameters.
When this operation is successful, Amazon Web Services Payment Cryptography returns the working key or IPEK as a TR-31 WrappedKeyBlock.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "GetAlias": "Gets the Amazon Web Services Payment Cryptography key associated with the alias.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "GetKey": "Gets the key material for an Amazon Web Services Payment Cryptography key, including the immutable and mutable data specified when the key was created.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "GetParametersForExport": "Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.
The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 7 days. You can use the same export token to export multiple keys from your service account.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "GetParametersForImport": "Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.
The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 7 days. You can use the same import token to import multiple keys into your service account.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "CreateAlias": "Creates an alias, or a friendly name, for an Amazon Web Services Payment Cryptography key. You can use an alias to identify a key in the console and when you call cryptographic operations such as EncryptData or DecryptData.
You can associate the alias with any key in the same Amazon Web Services Region. Each alias is associated with only one key at a time, but a key can have multiple aliases. You can't create an alias without a key. The alias must be unique in the account and Amazon Web Services Region, but you can create another alias with the same name in a different Amazon Web Services Region.
To change the key that's associated with the alias, call UpdateAlias. To delete the alias, call DeleteAlias. These operations don't affect the underlying key. To get the alias that you created, call ListAliases.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "CreateKey": "Creates an Amazon Web Services Payment Cryptography key, a logical representation of a cryptographic key, that is unique in your account and Amazon Web Services Region. You use keys for cryptographic functions such as encryption and decryption.
In addition to the key material used in cryptographic operations, an Amazon Web Services Payment Cryptography key includes metadata such as the key ARN, key usage, key origin, creation date, description, and key state.
When you create a key, you specify both immutable and mutable data about the key. The immutable data contains key attributes that define the scope and cryptographic operations that you can perform using the key, for example key class (example: SYMMETRIC_KEY
), key algorithm (example: TDES_2KEY
), key usage (example: TR31_P0_PIN_ENCRYPTION_KEY
) and key modes of use (example: Encrypt
). For information about valid combinations of key attributes, see Understanding key attributes in the Amazon Web Services Payment Cryptography User Guide. The mutable data contained within a key includes usage timestamp and key deletion timestamp and can be modified after creation.
Amazon Web Services Payment Cryptography binds key attributes to keys using key blocks when you store or export them. Amazon Web Services Payment Cryptography stores the key contents wrapped and never stores or transmits them in the clear.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "DeleteAlias": "Deletes the alias, but doesn't affect the underlying key.
Each key can have multiple aliases. To get the aliases of all keys, use the UpdateAlias operation. To change the alias of a key, first use DeleteAlias to delete the current alias and then use CreateAlias to create a new alias. To associate an existing alias with a different key, call UpdateAlias.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "DeleteKey": "Deletes the key material and metadata associated with Amazon Web Services Payment Cryptography key.
Key deletion is irreversible. After a key is deleted, you can't perform cryptographic operations using the key. For example, you can't decrypt data that was encrypted by a deleted Amazon Web Services Payment Cryptography key, and the data may become unrecoverable. Because key deletion is destructive, Amazon Web Services Payment Cryptography has a safety mechanism to prevent accidental deletion of a key. When you call this operation, Amazon Web Services Payment Cryptography disables the specified key but doesn't delete it until after a waiting period set using DeleteKeyInDays
. The default waiting period is 7 days. During the waiting period, the KeyState
is DELETE_PENDING
. After the key is deleted, the KeyState
is DELETE_COMPLETE
.
You should delete a key only when you are sure that you don't need to use it anymore and no other parties are utilizing this key. If you aren't sure, consider deactivating it instead by calling StopKeyUsage.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "ExportKey": "Exports a key from Amazon Web Services Payment Cryptography.
Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ExportKey
you can export symmetric keys using either symmetric and asymmetric key exchange mechanisms. Using this operation, you can share your Amazon Web Services Payment Cryptography generated keys with other service partners to perform cryptographic operations outside of Amazon Web Services Payment Cryptography
For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanism. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK). After which you can export working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.
The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.
You can also use ExportKey
functionality to generate and export an IPEK (Initial Pin Encryption Key) from Amazon Web Services Payment Cryptography using either TR-31 or TR-34 export key exchange. IPEK is generated from BDK (Base Derivation Key) and ExportDukptInitialKey
attribute KSN (KeySerialNumber
). The generated IPEK does not persist within Amazon Web Services Payment Cryptography and has to be re-generated each time during export.
For key exchange using TR-31 or TR-34 key blocks, you can also export optional blocks within the key block header which contain additional attribute information about the key. The KeyVersion
within KeyBlockHeaders
indicates the version of the key within the key block. Furthermore, KeyExportability
within KeyBlockHeaders
can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.
The OptionalBlocks
contain the additional data related to the key. For information on data type that can be included within optional blocks, refer to ASC X9.143-2022.
Data included in key block headers is signed but transmitted in clear text. Sensitive or confidential information should not be included in optional blocks. Refer to ASC X9.143-2022 standard for information on allowed data type.
To export initial keys (KEK) or IPEK using TR-34
Using this operation, you can export initial key using TR-34 asymmetric key exchange. You can only export KEK generated within Amazon Web Services Payment Cryptography. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During key export process, KDH is Amazon Web Services Payment Cryptography which initiates key export and KRD is the user receiving the key.
To initiate TR-34 key export, the KRD must obtain an export token by calling GetParametersForExport. This operation also generates a key pair for the purpose of key export, signs the key and returns back the signing public key certificate (also known as KDH signing certificate) and root certificate chain. The KDH uses the private key to sign the the export payload and the signing public key certificate is provided to KRD to verify the signature. The KRD can import the root certificate into its Hardware Security Module (HSM), as required. The export token and the associated KDH signing certificate expires after 7 days.
Next the KRD generates a key pair for the the purpose of encrypting the KDH key and provides the public key cerificate (also known as KRD wrapping certificate) back to KDH. The KRD will also import the root cerificate chain into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey
. The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping cerificate to encrypt (wrap) the key under export and signs it with signing private key to generate a TR-34 WrappedKeyBlock. For more information on TR-34 key export, see section Exporting symmetric keys in the Amazon Web Services Payment Cryptography User Guide.
Set the following parameters:
ExportAttributes
: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.
ExportKeyIdentifier
: The KeyARN
of the KEK or BDK (in case of IPEK) under export.
KeyMaterial
: Use Tr34KeyBlock
parameters.
CertificateAuthorityPublicKeyIdentifier
: The KeyARN
of the certificate chain that signed the KRD wrapping key certificate.
ExportToken
: Obtained from KDH by calling GetParametersForImport.
WrappingKeyCertificate
: The public key certificate in PEM format (base64 encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography uses for encryption of the TR-34 export payload. This certificate must be signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography.
When this operation is successful, Amazon Web Services Payment Cryptography returns the KEK or IPEK as a TR-34 WrappedKeyBlock.
To export initial keys (KEK) or IPEK using RSA Wrap and Unwrap
Using this operation, you can export initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate export, generate an asymmetric key pair on the receiving HSM and obtain the public key certificate in PEM format (base64 encoded) for the purpose of wrapping and the root certifiate chain. Import the root certificate into Amazon Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey
.
Next call ExportKey
and set the following parameters:
CertificateAuthorityPublicKeyIdentifier
: The KeyARN
of the certificate chain that signed wrapping key certificate.
KeyMaterial
: Set to KeyCryptogram
.
WrappingKeyCertificate
: The public key certificate in PEM format (base64 encoded) obtained by the receiving HSM and signed by the root certificate (CertificateAuthorityPublicKeyIdentifier) imported into Amazon Web Services Payment Cryptography. The receiving HSM uses its private key component to unwrap the WrappedKeyCryptogram.
When this operation is successful, Amazon Web Services Payment Cryptography returns the WrappedKeyCryptogram.
To export working keys or IPEK using TR-31
Using this operation, you can export working keys or IPEK using TR-31 symmetric key exchange. In TR-31, you must use an initial key such as KEK to encrypt or wrap the key under export. To establish a KEK, you can use CreateKey or ImportKey.
Set the following parameters:
ExportAttributes
: Specify export attributes in case of IPEK export. This parameter is optional for KEK export.
ExportKeyIdentifier
: The KeyARN
of the KEK or BDK (in case of IPEK) under export.
KeyMaterial
: Use Tr31KeyBlock
parameters.
When this operation is successful, Amazon Web Services Payment Cryptography returns the working key or IPEK as a TR-31 WrappedKeyBlock.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "GetAlias": "Gets the Amazon Web Services Payment Cryptography key associated with the alias.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "GetKey": "Gets the key material for an Amazon Web Services Payment Cryptography key, including the immutable and mutable data specified when the key was created.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "GetParametersForExport": "Gets the export token and the signing key certificate to initiate a TR-34 key export from Amazon Web Services Payment Cryptography.
The signing key certificate signs the wrapped key under export within the TR-34 key payload. The export token and signing key certificate must be in place and operational before calling ExportKey. The export token expires in 7 days. You can use the same export token to export multiple keys from your service account.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "GetParametersForImport": "Gets the import token and the wrapping key certificate in PEM format (base64 encoded) to initiate a TR-34 WrappedKeyBlock or a RSA WrappedKeyCryptogram import into Amazon Web Services Payment Cryptography.
The wrapping key certificate wraps the key under import. The import token and wrapping key certificate must be in place and operational before calling ImportKey. The import token expires in 7 days. You can use the same import token to import multiple keys into your service account.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", "GetPublicKeyCertificate": "Gets the public key certificate of the asymmetric key pair that exists within Amazon Web Services Payment Cryptography.
Unlike the private key of an asymmetric key, which never leaves Amazon Web Services Payment Cryptography unencrypted, callers with GetPublicKeyCertificate
permission can download the public key certificate of the asymmetric key. You can share the public key certificate to allow others to encrypt messages and verify signatures outside of Amazon Web Services Payment Cryptography
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
", - "ImportKey": "Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.
Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey
you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.
For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.
The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.
You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.
To import a public root key certificate
You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.
To import a public root key certificate
Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.
Set the following parameters:
KeyMaterial
: RootCertificatePublicKey
KeyClass
: PUBLIC_KEY
KeyModesOfUse
: Verify
KeyUsage
: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE
PublicKeyCertificate
: The public key certificate in PEM format (base64 encoded) of the private root key under import.
To import a trusted public key certificate
The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:
KeyMaterial
: TrustedCertificatePublicKey
CertificateAuthorityPublicKeyIdentifier
: KeyArn
of the RootCertificatePublicKey
.
KeyModesOfUse
and KeyUsage
: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.
PublicKeyCertificate
: The trusted public key certificate in PEM format (base64 encoded) under import.
To import initial keys (KEK or ZMK or similar) using TR-34
Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.
To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 7 days.
Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey
for RootCertificatePublicKey
. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.
Set the following parameters:
KeyMaterial
: Use Tr34KeyBlock
parameters.
CertificateAuthorityPublicKeyIdentifier
: The KeyARN
of the certificate chain that signed the KDH signing key certificate.
ImportToken
: Obtained from KRD by calling GetParametersForImport.
WrappedKeyBlock
: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.
SigningKeyCertificate
: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.
To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap
Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial
set to KEY_CRYPTOGRAM
to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 7 days.
You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey
with KeyMaterial
set to KEY_CRYPTOGRAM
and provide the ImportToken
and KeyAttributes
for the key under import.
To import working keys using TR-31
Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:
KeyMaterial
: Use Tr31KeyBlock
parameters.
WrappedKeyBlock
: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.
WrappingKeyIdentifier
: The KeyArn
of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "ListAliases": "Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of aliases. For more information, see Using aliases in the Amazon Web Services Payment Cryptography User Guide.
This is a paginated operation, which means that each response might contain only a subset of all the aliases. When the response contains only a subset of aliases, it includes a NextToken
value. Use this value in a subsequent ListAliases
request to get more aliases. When you receive a response with no NextToken (or an empty or null value), that means there are no more aliases to get.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "ListKeys": "Lists the keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of keys.
This is a paginated operation, which means that each response might contain only a subset of all the keys. When the response contains only a subset of keys, it includes a NextToken
value. Use this value in a subsequent ListKeys
request to get more keys. When you receive a response with no NextToken (or an empty or null value), that means there are no more keys to get.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "ListTagsForResource": "Lists the tags for an Amazon Web Services resource.
This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken
value. Use this value in a subsequent ListTagsForResource
request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "RestoreKey": "Cancels a scheduled key deletion during the waiting period. Use this operation to restore a Key
that is scheduled for deletion.
During the waiting period, the KeyState
is DELETE_PENDING
and deletePendingTimestamp
contains the date and time after which the Key
will be deleted. After Key
is restored, the KeyState
is CREATE_COMPLETE
, and the value for deletePendingTimestamp
is removed.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "StartKeyUsage": "Enables an Amazon Web Services Payment Cryptography key, which makes it active for cryptographic operations within Amazon Web Services Payment Cryptography
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "StopKeyUsage": "Disables an Amazon Web Services Payment Cryptography key, which makes it inactive within Amazon Web Services Payment Cryptography.
You can use this operation instead of DeleteKey to deactivate a key. You can enable the key in the future by calling StartKeyUsage.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "TagResource": "Adds or edits tags on an Amazon Web Services Payment Cryptography key.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value. You can also add tags to an Amazon Web Services Payment Cryptography key when you create it with CreateKey.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "UntagResource": "Deletes a tag from an Amazon Web Services Payment Cryptography key.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", - "UpdateAlias": "Associates an existing Amazon Web Services Payment Cryptography alias with a different key. Each alias is associated with only one Amazon Web Services Payment Cryptography key at a time, although a key can have multiple aliases. The alias and the Amazon Web Services Payment Cryptography key must be in the same Amazon Web Services account and Amazon Web Services Region
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
" + "ImportKey": "Imports symmetric keys and public key certificates in PEM format (base64 encoded) into Amazon Web Services Payment Cryptography.
Amazon Web Services Payment Cryptography simplifies key exchange by replacing the existing paper-based approach with a modern electronic approach. With ImportKey
you can import symmetric keys using either symmetric and asymmetric key exchange mechanisms.
For symmetric key exchange, Amazon Web Services Payment Cryptography uses the ANSI X9 TR-31 norm in accordance with PCI PIN guidelines. And for asymmetric key exchange, Amazon Web Services Payment Cryptography supports ANSI X9 TR-34 norm and RSA wrap and unwrap key exchange mechanisms. Asymmetric key exchange methods are typically used to establish bi-directional trust between the two parties exhanging keys and are used for initial key exchange such as Key Encryption Key (KEK) or Zone Master Key (ZMK). After which you can import working keys using symmetric method to perform various cryptographic operations within Amazon Web Services Payment Cryptography.
The TR-34 norm is intended for exchanging 3DES keys only and keys are imported in a WrappedKeyBlock format. Key attributes (such as KeyUsage, KeyAlgorithm, KeyModesOfUse, Exportability) are contained within the key block. With RSA wrap and unwrap, you can exchange both 3DES and AES-128 keys. The keys are imported in a WrappedKeyCryptogram format and you will need to specify the key attributes during import.
You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.
To import a public root key certificate
You can also import a root public key certificate, used to sign other public key certificates, or a trusted public key certificate under an already established root public key certificate.
To import a public root key certificate
Using this operation, you can import the public component (in PEM cerificate format) of your private root key. You can use the imported public root key certificate for digital signatures, for example signing wrapping key or signing key in TR-34, within your Amazon Web Services Payment Cryptography account.
Set the following parameters:
KeyMaterial
: RootCertificatePublicKey
KeyClass
: PUBLIC_KEY
KeyModesOfUse
: Verify
KeyUsage
: TR31_S0_ASYMMETRIC_KEY_FOR_DIGITAL_SIGNATURE
PublicKeyCertificate
: The public key certificate in PEM format (base64 encoded) of the private root key under import.
To import a trusted public key certificate
The root public key certificate must be in place and operational before you import a trusted public key certificate. Set the following parameters:
KeyMaterial
: TrustedCertificatePublicKey
CertificateAuthorityPublicKeyIdentifier
: KeyArn
of the RootCertificatePublicKey
.
KeyModesOfUse
and KeyUsage
: Corresponding to the cryptographic operations such as wrap, sign, or encrypt that you will allow the trusted public key certificate to perform.
PublicKeyCertificate
: The trusted public key certificate in PEM format (base64 encoded) under import.
To import initial keys (KEK or ZMK or similar) using TR-34
Using this operation, you can import initial key using TR-34 asymmetric key exchange. In TR-34 terminology, the sending party of the key is called Key Distribution Host (KDH) and the receiving party of the key is called Key Receiving Device (KRD). During the key import process, KDH is the user who initiates the key import and KRD is Amazon Web Services Payment Cryptography who receives the key.
To initiate TR-34 key import, the KDH must obtain an import token by calling GetParametersForImport. This operation generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate (also known as KRD wrapping certificate) and the root certificate chain. The KDH must trust and install the KRD wrapping certificate on its HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token and associated KRD wrapping certificate expires after 7 days.
Next the KDH generates a key pair for the purpose of signing the encrypted KDH key and provides the public certificate of the signing key to Amazon Web Services Payment Cryptography. The KDH will also need to import the root certificate chain of the KDH signing certificate by calling ImportKey
for RootCertificatePublicKey
. For more information on TR-34 key import, see section Importing symmetric keys in the Amazon Web Services Payment Cryptography User Guide.
Set the following parameters:
KeyMaterial
: Use Tr34KeyBlock
parameters.
CertificateAuthorityPublicKeyIdentifier
: The KeyARN
of the certificate chain that signed the KDH signing key certificate.
ImportToken
: Obtained from KRD by calling GetParametersForImport.
WrappedKeyBlock
: The TR-34 wrapped key material from KDH. It contains the KDH key under import, wrapped with KRD wrapping certificate and signed by KDH signing private key. This TR-34 key block is typically generated by the KDH Hardware Security Module (HSM) outside of Amazon Web Services Payment Cryptography.
SigningKeyCertificate
: The public key certificate in PEM format (base64 encoded) of the KDH signing key generated under the root certificate (CertificateAuthorityPublicKeyIdentifier) imported in Amazon Web Services Payment Cryptography.
To import initial keys (KEK or ZMK or similar) using RSA Wrap and Unwrap
Using this operation, you can import initial key using asymmetric RSA wrap and unwrap key exchange method. To initiate import, call GetParametersForImport with KeyMaterial
set to KEY_CRYPTOGRAM
to generate an import token. This operation also generates an encryption keypair for the purpose of key import, signs the key and returns back the wrapping key certificate in PEM format (base64 encoded) and its root certificate chain. The import token and associated KRD wrapping certificate expires after 7 days.
You must trust and install the wrapping certificate and its certificate chain on the sending HSM and use it to wrap the key under export for WrappedKeyCryptogram generation. Next call ImportKey
with KeyMaterial
set to KEY_CRYPTOGRAM
and provide the ImportToken
and KeyAttributes
for the key under import.
To import working keys using TR-31
Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange norm to import working keys. A KEK must be established within Amazon Web Services Payment Cryptography by using TR-34 key import or by using CreateKey. To initiate a TR-31 key import, set the following parameters:
KeyMaterial
: Use Tr31KeyBlock
parameters.
WrappedKeyBlock
: The TR-31 wrapped key material. It contains the key under import, encrypted using KEK. The TR-31 key block is typically generated by a HSM outside of Amazon Web Services Payment Cryptography.
WrappingKeyIdentifier
: The KeyArn
of the KEK that Amazon Web Services Payment Cryptography uses to decrypt or unwrap the key under import.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "ListAliases": "Lists the aliases for all keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of aliases. For more information, see Using aliases in the Amazon Web Services Payment Cryptography User Guide.
This is a paginated operation, which means that each response might contain only a subset of all the aliases. When the response contains only a subset of aliases, it includes a NextToken
value. Use this value in a subsequent ListAliases
request to get more aliases. When you receive a response with no NextToken (or an empty or null value), that means there are no more aliases to get.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "ListKeys": "Lists the keys in the caller's Amazon Web Services account and Amazon Web Services Region. You can filter the list of keys.
This is a paginated operation, which means that each response might contain only a subset of all the keys. When the response contains only a subset of keys, it includes a NextToken
value. Use this value in a subsequent ListKeys
request to get more keys. When you receive a response with no NextToken (or an empty or null value), that means there are no more keys to get.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "ListTagsForResource": "Lists the tags for an Amazon Web Services resource.
This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken
value. Use this value in a subsequent ListTagsForResource
request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "RestoreKey": "Cancels a scheduled key deletion during the waiting period. Use this operation to restore a Key
that is scheduled for deletion.
During the waiting period, the KeyState
is DELETE_PENDING
and deletePendingTimestamp
contains the date and time after which the Key
will be deleted. After Key
is restored, the KeyState
is CREATE_COMPLETE
, and the value for deletePendingTimestamp
is removed.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "StartKeyUsage": "Enables an Amazon Web Services Payment Cryptography key, which makes it active for cryptographic operations within Amazon Web Services Payment Cryptography
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "StopKeyUsage": "Disables an Amazon Web Services Payment Cryptography key, which makes it inactive within Amazon Web Services Payment Cryptography.
You can use this operation instead of DeleteKey to deactivate a key. You can enable the key in the future by calling StartKeyUsage.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "TagResource": "Adds or edits tags on an Amazon Web Services Payment Cryptography key.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Each tag consists of a tag key and a tag value, both of which are case-sensitive strings. The tag value can be an empty (null) string. To add a tag, specify a new tag key and a tag value. To edit a tag, specify an existing tag key and a new tag value. You can also add tags to an Amazon Web Services Payment Cryptography key when you create it with CreateKey.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "UntagResource": "Deletes a tag from an Amazon Web Services Payment Cryptography key.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
", + "UpdateAlias": "Associates an existing Amazon Web Services Payment Cryptography alias with a different key. Each alias is associated with only one Amazon Web Services Payment Cryptography key at a time, although a key can have multiple aliases. The alias and the Amazon Web Services Payment Cryptography key must be in the same Amazon Web Services account and Amazon Web Services Region
Cross-account use: This operation can't be used across different Amazon Web Services accounts.
Related operations:
" }, "shapes": { "AccessDeniedException": { @@ -57,14 +57,14 @@ "Boolean": { "base": null, "refs": { - "CreateKeyInput$Enabled": "Specifies whether to enable the key. If the key is enabled, it is activated for use within the service. If the key is not enabled, then it is created but not activated. The default value is enabled.
", "CreateKeyInput$Exportable": "Specifies whether the key is exportable from the service.
", + "CreateKeyInput$Enabled": "Specifies whether to enable the key. If the key is enabled, it is activated for use within the service. If the key is not enabled, then it is created but not activated. The default value is enabled.
", "ImportKeyCryptogram$Exportable": "Specifies whether the key is exportable from the service.
", "ImportKeyInput$Enabled": "Specifies whether import key is enabled.
", "Key$Enabled": "Specifies whether the key is enabled.
", "Key$Exportable": "Specifies whether the key is exportable. This data is immutable after the key is created.
", - "KeySummary$Enabled": "Specifies whether the key is enabled.
", - "KeySummary$Exportable": "Specifies whether the key is exportable. This data is immutable after the key is created.
" + "KeySummary$Exportable": "Specifies whether the key is exportable. This data is immutable after the key is created.
", + "KeySummary$Enabled": "Specifies whether the key is enabled.
" } }, "CertificateType": { @@ -171,7 +171,7 @@ "ExportTokenId": { "base": null, "refs": { - "ExportTr34KeyBlock$ExportToken": "The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 7 days. You can use the same export token to export multiple keys from the same service account.
", + "ExportTr34KeyBlock$ExportToken": "The export token to initiate key export from Amazon Web Services Payment Cryptography. It also contains the signing key certificate that will sign the wrapped key during TR-34 key block generation. Call GetParametersForExport to receive an export token. It expires after 7 days. You can use the same export token to export multiple keys from the same service account.
", "GetParametersForExportOutput$ExportToken": "The export token to initiate key export from Amazon Web Services Payment Cryptography. The export token expires after 7 days. You can use the same export token to export multiple keys from the same service account.
" } }, @@ -359,6 +359,13 @@ "TrustedCertificatePublicKey$KeyAttributes": "The role of the key, the algorithm it supports, and the cryptographic operations allowed with the key. This data is immutable after a trusted public key is imported.
" } }, + "KeyBlockHeaders": { + "base": "Optional metadata for export associated with the key material. This data is signed but transmitted in clear text.
", + "refs": { + "ExportTr31KeyBlock$KeyBlockHeaders": "Optional metadata for export associated with the key material. This data is signed but transmitted in clear text.
", + "ExportTr34KeyBlock$KeyBlockHeaders": "Optional metadata for export associated with the key material. This data is signed but transmitted in clear text.
" + } + }, "KeyCheckValue": { "base": null, "refs": { @@ -383,6 +390,12 @@ "KeyAttributes$KeyClass": "The type of Amazon Web Services Payment Cryptography key to create, which determines the classification of the cryptographic method and whether Amazon Web Services Payment Cryptography key contains a symmetric key or an asymmetric key pair.
" } }, + "KeyExportability": { + "base": null, + "refs": { + "KeyBlockHeaders$KeyExportability": "Specifies subsequent exportability of the key within the key block after it is received by the receiving party. It can be used to further restrict exportability of the key after export from Amazon Web Services Payment Cryptography.
When set to EXPORTABLE
, the key can be subsequently exported by the receiver under a KEK using TR-31 or TR-34 key block export only. When set to NON_EXPORTABLE
, the key cannot be subsequently exported by the receiver. When set to SENSITIVE
, the key can be exported by the receiver under a KEK using TR-31, TR-34, RSA wrap and unwrap cryptogram or using a symmetric cryptogram key export method. For further information refer to ANSI X9.143-2022.
The list of cryptographic operations that you can perform using the key. The modes of use are defined in section A.5.3 of the TR-31 spec.
", "refs": { - "KeyAttributes$KeyModesOfUse": "The list of cryptographic operations that you can perform using the key.
" + "KeyAttributes$KeyModesOfUse": "The list of cryptographic operations that you can perform using the key.
", + "KeyBlockHeaders$KeyModesOfUse": null } }, "KeyOrigin": { @@ -434,6 +448,12 @@ "KeyAttributes$KeyUsage": "The cryptographic usage of an Amazon Web Services Payment Cryptography key as defined in section A.5.2 of the TR-31 spec.
" } }, + "KeyVersion": { + "base": null, + "refs": { + "KeyBlockHeaders$KeyVersion": "Parameter used to indicate the version of the key carried in the key block or indicate the value carried in the key block is a component of a key.
" + } + }, "ListAliasesInput": { "base": null, "refs": { @@ -483,18 +503,36 @@ "ListTagsForResourceOutput$NextToken": "The token for the next set of results, or an empty or null value if there are no more results.
" } }, + "OptionalBlockId": { + "base": null, + "refs": { + "OptionalBlocks$key": null + } + }, + "OptionalBlockValue": { + "base": null, + "refs": { + "OptionalBlocks$value": null + } + }, + "OptionalBlocks": { + "base": null, + "refs": { + "KeyBlockHeaders$OptionalBlocks": "Parameter used to indicate the type of optional data in key block headers. Refer to ANSI X9.143-2022 for information on allowed data type for optional blocks.
Optional block character limit is 112 characters. For each optional block, 2 characters are reserved for optional block ID and 2 characters reserved for optional block length. More than one optional blocks can be included as long as the combined length does not increase 112 characters.
" + } + }, "PrimitiveBoolean": { "base": null, "refs": { - "KeyModesOfUse$Decrypt": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to decrypt data.
", - "KeyModesOfUse$DeriveKey": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to derive new keys.
", "KeyModesOfUse$Encrypt": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to encrypt data.
", + "KeyModesOfUse$Decrypt": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to decrypt data.
", + "KeyModesOfUse$Wrap": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to wrap other keys.
", + "KeyModesOfUse$Unwrap": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to unwrap other keys.
", "KeyModesOfUse$Generate": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to generate and verify other card and PIN verification keys.
", - "KeyModesOfUse$NoRestrictions": "Specifies whether an Amazon Web Services Payment Cryptography key has no special restrictions other than the restrictions implied by KeyUsage
.
Specifies whether an Amazon Web Services Payment Cryptography key can be used for signing.
", - "KeyModesOfUse$Unwrap": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to unwrap other keys.
", "KeyModesOfUse$Verify": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to verify signatures.
", - "KeyModesOfUse$Wrap": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to wrap other keys.
" + "KeyModesOfUse$DeriveKey": "Specifies whether an Amazon Web Services Payment Cryptography key can be used to derive new keys.
", + "KeyModesOfUse$NoRestrictions": "Specifies whether an Amazon Web Services Payment Cryptography key has no special restrictions other than the restrictions implied by KeyUsage
.
One or more tag keys. Don't include the tag values.
If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an exception or return a response. To confirm that the operation succeeded, use the ListTagsForResource operation.
" + "UntagResourceInput$TagKeys": "One or more tag keys. Don't include the tag values.
If the Amazon Web Services Payment Cryptography key doesn't have the specified tag key, Amazon Web Services Payment Cryptography doesn't throw an exception or return a response. To confirm that the operation succeeded, use the ListTagsForResource operation.
" } }, "TagResourceInput": { @@ -607,10 +645,10 @@ "Tags": { "base": null, "refs": { - "CreateKeyInput$Tags": "Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.
Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.
Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the specified one.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is created. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.
Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
Assigns one or more tags to the Amazon Web Services Payment Cryptography key. Use this parameter to tag a key when it is imported. To tag an existing Amazon Web Services Payment Cryptography key, use the TagResource operation.
Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the specified one.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
Tagging or untagging an Amazon Web Services Payment Cryptography key can allow or deny permission to the key.
The list of tags associated with a ResourceArn
. Each tag will list the key-value pair contained within that tag.
One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the new one.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
To use this parameter, you must have TagResource permission in an IAM policy.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
One or more tags. Each tag consists of a tag key and a tag value. The tag value can be an empty (null) string. You can't have more than one tag on an Amazon Web Services Payment Cryptography key with the same tag key. If you specify an existing tag key with a different tag value, Amazon Web Services Payment Cryptography replaces the current tag value with the new one.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
To use this parameter, you must have TagResource permission in an IAM policy.
Don't include personal, confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
The validity period of the export token.
", "GetParametersForImportOutput$ParametersValidUntilTimestamp": "The validity period of the import token.
", "Key$CreateTimestamp": "The date and time when the key was created.
", - "Key$DeletePendingTimestamp": "The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when KeyState
is DELETE_PENDING
and the key is scheduled for deletion.
The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when when the KeyState
is DELETE_COMPLETE
and the Amazon Web Services Payment Cryptography key is deleted.
The date and time after which Amazon Web Services Payment Cryptography will start using the key material for cryptographic operations.
", - "Key$UsageStopTimestamp": "The date and time after which Amazon Web Services Payment Cryptography will stop using the key material for cryptographic operations.
" + "Key$UsageStopTimestamp": "The date and time after which Amazon Web Services Payment Cryptography will stop using the key material for cryptographic operations.
", + "Key$DeletePendingTimestamp": "The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when KeyState
is DELETE_PENDING
and the key is scheduled for deletion.
The date and time after which Amazon Web Services Payment Cryptography will delete the key. This value is present only when when the KeyState
is DELETE_COMPLETE
and the Amazon Web Services Payment Cryptography key is deleted.
The schedule of when Amazon Redshift Serverless should run the scheduled action.
", "refs": { - "CreateScheduledActionRequest$schedule": "The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at timestamp format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour. Times are in UTC.
Format of at timestamp is yyyy-mm-ddThh:mm:ss
. For example, 2016-03-04T17:27:00
.
Format of cron expression is (Minutes Hours Day-of-month Month Day-of-week Year)
. For example, \"(0 10 ? * MON *)\"
. For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at timestamp format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour. Times are in UTC.
Format of at timestamp is yyyy-mm-ddThh:mm:ss
. For example, 2016-03-04T17:27:00
.
Format of cron expression is (Minutes Hours Day-of-month Month Day-of-week Year)
. For example, \"(0 10 ? * MON *)\"
. For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The schedule for a one-time (at timestamp format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour. Times are in UTC.
Format of at timestamp is yyyy-mm-ddThh:mm:ss
. For example, 2016-03-04T17:27:00
.
Format of cron expression is (Minutes Hours Day-of-month Month Day-of-week Year)
. For example, \"(0 10 ? * MON *)\"
. For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The name of the database to restore the table to.
", "RestoreTableFromSnapshotRequest$targetSchemaName": "The name of the schema to restore the table to.
", "RestoreTableFromSnapshotRequest$workgroupName": "The workgroup to restore the table to.
", - "Schedule$cron": "The cron expression to use to schedule a recurring scheduled action. Schedule invocations must be separated by at least one hour.
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The cron expression to use to schedule a recurring scheduled action. Schedule invocations must be separated by at least one hour. Times are in UTC.
Format of cron expressions is (Minutes Hours Day-of-month Month Day-of-week Year)
. For example, \"(0 10 ? * MON *)\"
. For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The description of the scheduled action.
", "ScheduledActionResponse$scheduledActionUuid": "The uuid of the scheduled action.
", "ServiceQuotaExceededException$message": null, @@ -1335,7 +1335,7 @@ "ListSnapshotsRequest$endTime": "The timestamp showing when the snapshot creation finished.
", "ListSnapshotsRequest$startTime": "The time when the creation of the snapshot was initiated.
", "NextInvocationsList$member": null, - "Schedule$at": "The timestamp of when Amazon Redshift Serverless should run the scheduled action. Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
The timestamp of when Amazon Redshift Serverless should run the scheduled action. Timestamp is in UTC. Format of at expression is yyyy-mm-ddThh:mm:ss
. For example, 2016-03-04T17:27:00
.
The end time of
", "ScheduledActionResponse$startTime": "The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
", "TableRestoreStatus$requestTime": "The time that the table restore request was made, in Universal Coordinated Time (UTC).
", diff --git a/models/apis/route53profiles/2018-05-10/api-2.json b/models/apis/route53profiles/2018-05-10/api-2.json new file mode 100644 index 00000000000..023d7c96627 --- /dev/null +++ b/models/apis/route53profiles/2018-05-10/api-2.json @@ -0,0 +1,891 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-10", + "endpointPrefix":"route53profiles", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Route 53 Profiles", + "serviceId":"Route53Profiles", + "signatureVersion":"v4", + "signingName":"route53profiles", + "uid":"route53profiles-2018-05-10" + }, + "operations":{ + "AssociateProfile":{ + "name":"AssociateProfile", + "http":{ + "method":"POST", + "requestUri":"/profileassociation", + "responseCode":200 + }, + "input":{"shape":"AssociateProfileRequest"}, + "output":{"shape":"AssociateProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ] + }, + "AssociateResourceToProfile":{ + "name":"AssociateResourceToProfile", + "http":{ + "method":"POST", + "requestUri":"/profileresourceassociation", + "responseCode":200 + }, + "input":{"shape":"AssociateResourceToProfileRequest"}, + "output":{"shape":"AssociateResourceToProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ] + }, + "CreateProfile":{ + "name":"CreateProfile", + "http":{ + "method":"POST", + "requestUri":"/profile", + "responseCode":200 + }, + "input":{"shape":"CreateProfileRequest"}, + "output":{"shape":"CreateProfileResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "DeleteProfile":{ + "name":"DeleteProfile", + "http":{ + "method":"DELETE", + "requestUri":"/profile/{ProfileId}", + "responseCode":200 + }, + "input":{"shape":"DeleteProfileRequest"}, + "output":{"shape":"DeleteProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DisassociateProfile":{ + "name":"DisassociateProfile", + "http":{ + "method":"DELETE", + "requestUri":"/profileassociation/Profileid/{ProfileId}/resourceid/{ResourceId}", + "responseCode":200 + }, + "input":{"shape":"DisassociateProfileRequest"}, + "output":{"shape":"DisassociateProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "DisassociateResourceFromProfile":{ + "name":"DisassociateResourceFromProfile", + "http":{ + "method":"DELETE", + "requestUri":"/profileresourceassociation/profileid/{ProfileId}/resourcearn/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"DisassociateResourceFromProfileRequest"}, + "output":{"shape":"DisassociateResourceFromProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "GetProfile":{ + "name":"GetProfile", + "http":{ + "method":"GET", + "requestUri":"/profile/{ProfileId}", + "responseCode":200 + }, + "input":{"shape":"GetProfileRequest"}, + "output":{"shape":"GetProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetProfileAssociation":{ + "name":"GetProfileAssociation", + "http":{ + "method":"GET", + "requestUri":"/profileassociation/{ProfileAssociationId}", + "responseCode":200 + }, + "input":{"shape":"GetProfileAssociationRequest"}, + "output":{"shape":"GetProfileAssociationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetProfileResourceAssociation":{ + "name":"GetProfileResourceAssociation", + "http":{ + "method":"GET", + "requestUri":"/profileresourceassociation/{ProfileResourceAssociationId}", + "responseCode":200 + }, + "input":{"shape":"GetProfileResourceAssociationRequest"}, + "output":{"shape":"GetProfileResourceAssociationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListProfileAssociations":{ + "name":"ListProfileAssociations", + "http":{ + "method":"GET", + "requestUri":"/profileassociations", + "responseCode":200 + }, + "input":{"shape":"ListProfileAssociationsRequest"}, + "output":{"shape":"ListProfileAssociationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "ListProfileResourceAssociations":{ + "name":"ListProfileResourceAssociations", + "http":{ + "method":"GET", + "requestUri":"/profileresourceassociations/profileid/{ProfileId}", + "responseCode":200 + }, + "input":{"shape":"ListProfileResourceAssociationsRequest"}, + "output":{"shape":"ListProfileResourceAssociationsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "ListProfiles":{ + "name":"ListProfiles", + "http":{ + "method":"GET", + "requestUri":"/profiles", + "responseCode":200 + }, + "input":{"shape":"ListProfilesRequest"}, + "output":{"shape":"ListProfilesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "UpdateProfileResourceAssociation":{ + "name":"UpdateProfileResourceAssociation", + "http":{ + "method":"PATCH", + "requestUri":"/profileresourceassociation/{ProfileResourceAssociationId}", + "responseCode":200 + }, + "input":{"shape":"UpdateProfileResourceAssociationRequest"}, + "output":{"shape":"UpdateProfileResourceAssociationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":32, + "min":12 + }, + "Arn":{ + "type":"string", + "max":255, + "min":1 + }, + "AssociateProfileRequest":{ + "type":"structure", + "required":[ + "Name", + "ProfileId", + "ResourceId" + ], + "members":{ + "Name":{"shape":"Name"}, + "ProfileId":{"shape":"ResourceId"}, + "ResourceId":{"shape":"ResourceId"}, + "Tags":{"shape":"TagList"} + } + }, + "AssociateProfileResponse":{ + "type":"structure", + "members":{ + "ProfileAssociation":{"shape":"ProfileAssociation"} + } + }, + "AssociateResourceToProfileRequest":{ + "type":"structure", + "required":[ + "Name", + "ProfileId", + "ResourceArn" + ], + "members":{ + "Name":{"shape":"Name"}, + "ProfileId":{"shape":"ResourceId"}, + "ResourceArn":{"shape":"Arn"}, + "ResourceProperties":{"shape":"ResourceProperties"} + } + }, + "AssociateResourceToProfileResponse":{ + "type":"structure", + "members":{ + "ProfileResourceAssociation":{"shape":"ProfileResourceAssociation"} + } + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "CreateProfileRequest":{ + "type":"structure", + "required":[ + "ClientToken", + "Name" + ], + "members":{ + "ClientToken":{ + "shape":"CreatorRequestId", + "idempotencyToken":true + }, + "Name":{"shape":"Name"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateProfileResponse":{ + "type":"structure", + "members":{ + "Profile":{"shape":"Profile"} + } + }, + "CreatorRequestId":{ + "type":"string", + "max":255, + "min":1 + }, + "DeleteProfileRequest":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "ProfileId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileId" + } + } + }, + "DeleteProfileResponse":{ + "type":"structure", + "members":{ + "Profile":{"shape":"Profile"} + } + }, + "DisassociateProfileRequest":{ + "type":"structure", + "required":[ + "ProfileId", + "ResourceId" + ], + "members":{ + "ProfileId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileId" + }, + "ResourceId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ResourceId" + } + } + }, + "DisassociateProfileResponse":{ + "type":"structure", + "members":{ + "ProfileAssociation":{"shape":"ProfileAssociation"} + } + }, + "DisassociateResourceFromProfileRequest":{ + "type":"structure", + "required":[ + "ProfileId", + "ResourceArn" + ], + "members":{ + "ProfileId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileId" + }, + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "DisassociateResourceFromProfileResponse":{ + "type":"structure", + "members":{ + "ProfileResourceAssociation":{"shape":"ProfileResourceAssociation"} + } + }, + "ExceptionMessage":{"type":"string"}, + "GetProfileAssociationRequest":{ + "type":"structure", + "required":["ProfileAssociationId"], + "members":{ + "ProfileAssociationId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileAssociationId" + } + } + }, + "GetProfileAssociationResponse":{ + "type":"structure", + "members":{ + "ProfileAssociation":{"shape":"ProfileAssociation"} + } + }, + "GetProfileRequest":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "ProfileId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileId" + } + } + }, + "GetProfileResourceAssociationRequest":{ + "type":"structure", + "required":["ProfileResourceAssociationId"], + "members":{ + "ProfileResourceAssociationId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileResourceAssociationId" + } + } + }, + "GetProfileResourceAssociationResponse":{ + "type":"structure", + "members":{ + "ProfileResourceAssociation":{"shape":"ProfileResourceAssociation"} + } + }, + "GetProfileResponse":{ + "type":"structure", + "members":{ + "Profile":{"shape":"Profile"} + } + }, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "required":["Message"], + "members":{ + "FieldName":{"shape":"String"}, + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{"shape":"String"} + }, + "exception":true + }, + "ListProfileAssociationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "ProfileId":{ + "shape":"ResourceId", + "location":"querystring", + "locationName":"profileId" + }, + "ResourceId":{ + "shape":"ResourceId", + "location":"querystring", + "locationName":"resourceId" + } + } + }, + "ListProfileAssociationsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "ProfileAssociations":{"shape":"ProfileAssociations"} + } + }, + "ListProfileResourceAssociationsRequest":{ + "type":"structure", + "required":["ProfileId"], + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "ProfileId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileId" + }, + "ResourceType":{ + "shape":"String", + "location":"querystring", + "locationName":"resourceType" + } + } + }, + "ListProfileResourceAssociationsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "ProfileResourceAssociations":{"shape":"ProfileResourceAssociations"} + } + }, + "ListProfilesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProfilesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "ProfileSummaries":{"shape":"ProfileSummaryList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{"shape":"TagMap"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "Name":{ + "type":"string", + "max":64, + "min":0, + "pattern":"^(?!^[0-9]+$)([a-zA-Z0-9\\-_' ']+)$" + }, + "NextToken":{"type":"string"}, + "Profile":{ + "type":"structure", + "members":{ + "Arn":{"shape":"Arn"}, + "ClientToken":{"shape":"CreatorRequestId"}, + "CreationTime":{"shape":"Rfc3339Timestamp"}, + "Id":{"shape":"ResourceId"}, + "ModificationTime":{"shape":"Rfc3339Timestamp"}, + "Name":{"shape":"Name"}, + "OwnerId":{"shape":"AccountId"}, + "ShareStatus":{"shape":"ShareStatus"}, + "Status":{"shape":"ProfileStatus"}, + "StatusMessage":{"shape":"String"} + } + }, + "ProfileAssociation":{ + "type":"structure", + "members":{ + "CreationTime":{"shape":"Rfc3339Timestamp"}, + "Id":{"shape":"ResourceId"}, + "ModificationTime":{"shape":"Rfc3339Timestamp"}, + "Name":{"shape":"Name"}, + "OwnerId":{"shape":"AccountId"}, + "ProfileId":{"shape":"ResourceId"}, + "ResourceId":{"shape":"ResourceId"}, + "Status":{"shape":"ProfileStatus"}, + "StatusMessage":{"shape":"String"} + } + }, + "ProfileAssociations":{ + "type":"list", + "member":{"shape":"ProfileAssociation"} + }, + "ProfileResourceAssociation":{ + "type":"structure", + "members":{ + "CreationTime":{"shape":"Rfc3339Timestamp"}, + "Id":{"shape":"ResourceId"}, + "ModificationTime":{"shape":"Rfc3339Timestamp"}, + "Name":{"shape":"Name"}, + "OwnerId":{"shape":"AccountId"}, + "ProfileId":{"shape":"ResourceId"}, + "ResourceArn":{"shape":"Arn"}, + "ResourceProperties":{"shape":"ResourceProperties"}, + "ResourceType":{"shape":"String"}, + "Status":{"shape":"ProfileStatus"}, + "StatusMessage":{"shape":"String"} + } + }, + "ProfileResourceAssociations":{ + "type":"list", + "member":{"shape":"ProfileResourceAssociation"} + }, + "ProfileStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "DELETING", + "UPDATING", + "CREATING", + "DELETED", + "FAILED" + ] + }, + "ProfileSummary":{ + "type":"structure", + "members":{ + "Arn":{"shape":"Arn"}, + "Id":{"shape":"ResourceId"}, + "Name":{"shape":"Name"}, + "ShareStatus":{"shape":"ShareStatus"} + } + }, + "ProfileSummaryList":{ + "type":"list", + "member":{"shape":"ProfileSummary"} + }, + "ResourceExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{"shape":"String"} + }, + "exception":true + }, + "ResourceId":{ + "type":"string", + "max":64, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{"shape":"String"} + }, + "exception":true + }, + "ResourceProperties":{"type":"string"}, + "Rfc3339Timestamp":{"type":"timestamp"}, + "ShareStatus":{ + "type":"string", + "enum":[ + "NOT_SHARED", + "SHARED_WITH_ME", + "SHARED_BY_ME" + ] + }, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateProfileResourceAssociationRequest":{ + "type":"structure", + "required":["ProfileResourceAssociationId"], + "members":{ + "Name":{"shape":"Name"}, + "ProfileResourceAssociationId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"ProfileResourceAssociationId" + }, + "ResourceProperties":{"shape":"ResourceProperties"} + } + }, + "UpdateProfileResourceAssociationResponse":{ + "type":"structure", + "members":{ + "ProfileResourceAssociation":{"shape":"ProfileResourceAssociation"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "exception":true + } + } +} diff --git a/models/apis/route53profiles/2018-05-10/docs-2.json b/models/apis/route53profiles/2018-05-10/docs-2.json new file mode 100644 index 00000000000..7d149411fe9 --- /dev/null +++ b/models/apis/route53profiles/2018-05-10/docs-2.json @@ -0,0 +1,475 @@ +{ + "version": "2.0", + "service": "With Amazon Route 53 Profiles you can share Route 53 configurations with VPCs and AWS accounts
", + "operations": { + "AssociateProfile": "Associates a Route 53 Profiles profile with a VPC. A VPC can have only one Profile associated with it, but a Profile can be associated with up to 5000 VPCs.
", + "AssociateResourceToProfile": "Associates a DNS reource configuration to a Route 53 Profile.
", + "CreateProfile": "Creates an empty Route 53 Profile.
", + "DeleteProfile": "Deletes the specified Route 53 Profile. Before you can delete a profile, you must first disassociate it from all VPCs.
", + "DisassociateProfile": "Dissociates a specified Route 53 Profile from the specified VPC.
", + "DisassociateResourceFromProfile": "Dissoaciated a specified resource, from the Route 53 Profile.
", + "GetProfile": "Returns information about a specified Route 53 Profile, such as whether whether the Profile is shared, and the current status of the Profile.
", + "GetProfileAssociation": "Retrieves a Route 53 Profile association for a VPC. A VPC can have only one Profile association, but a Profile can be associated with up to 5000 VPCs.
", + "GetProfileResourceAssociation": "Returns information about a specified Route 53 Profile resource association.
", + "ListProfileAssociations": "Lists all the VPCs that the specified Route 53 Profile is associated with.
", + "ListProfileResourceAssociations": "Lists all the resource associations for the specified Route 53 Profile.
", + "ListProfiles": "Lists all the Route 53 Profiles associated with your Amazon Web Services account.
", + "ListTagsForResource": "Lists the tags that you associated with the specified resource.
", + "TagResource": "Adds one or more tags to a specified resource.
", + "UntagResource": "Removes one or more tags from a specified resource.
", + "UpdateProfileResourceAssociation": "Updates the specified Route 53 Profile resourse association.
" + }, + "shapes": { + "AccessDeniedException": { + "base": "The current account doesn't have the IAM permissions required to perform the specified operation.
", + "refs": { + } + }, + "AccountId": { + "base": null, + "refs": { + "Profile$OwnerId": "Amazon Web Services account ID of the Profile owner.
", + "ProfileAssociation$OwnerId": "Amazon Web Services account ID of the Profile association owner.
", + "ProfileResourceAssociation$OwnerId": "Amazon Web Services account ID of the Profile resource association owner.
" + } + }, + "Arn": { + "base": null, + "refs": { + "AssociateResourceToProfileRequest$ResourceArn": "Amazon resource number, ARN, of the DNS resource.
", + "DisassociateResourceFromProfileRequest$ResourceArn": "The Amazon Resource Name (ARN) of the resource.
", + "ListTagsForResourceRequest$ResourceArn": "The Amazon Resource Name (ARN) for the resource that you want to list the tags for.
", + "Profile$Arn": "The Amazon Resource Name (ARN) of the Profile.
", + "ProfileResourceAssociation$ResourceArn": "The Amazon Resource Name (ARN) of the resource association.
", + "ProfileSummary$Arn": "The Amazon Resource Name (ARN) of the Profile.
", + "TagResourceRequest$ResourceArn": "The Amazon Resource Name (ARN) for the resource that you want to add tags to.
", + "UntagResourceRequest$ResourceArn": "The Amazon Resource Name (ARN) for the resource that you want to remove tags from.
" + } + }, + "AssociateProfileRequest": { + "base": null, + "refs": { + } + }, + "AssociateProfileResponse": { + "base": null, + "refs": { + } + }, + "AssociateResourceToProfileRequest": { + "base": null, + "refs": { + } + }, + "AssociateResourceToProfileResponse": { + "base": null, + "refs": { + } + }, + "ConflictException": { + "base": "The request you submitted conflicts with an existing request.
", + "refs": { + } + }, + "CreateProfileRequest": { + "base": null, + "refs": { + } + }, + "CreateProfileResponse": { + "base": null, + "refs": { + } + }, + "CreatorRequestId": { + "base": null, + "refs": { + "CreateProfileRequest$ClientToken": " ClientToken
is an idempotency token that ensures a call to CreateProfile
completes only once. You choose the value to pass. For example, an issue might prevent you from getting a response from CreateProfile
. In this case, safely retry your call to CreateProfile
by using the same CreateProfile
parameter value.
The ClientToken
value that was assigned when the Profile was created.
An internal server error occured. Retry your request.
", + "refs": { + } + }, + "InvalidNextTokenException": { + "base": " The NextToken
you provided isn;t valid.
One or more parameters in this request are not valid.
", + "refs": { + } + }, + "LimitExceededException": { + "base": "The request caused one or more limits to be exceeded.
", + "refs": { + } + }, + "ListProfileAssociationsRequest": { + "base": null, + "refs": { + } + }, + "ListProfileAssociationsResponse": { + "base": null, + "refs": { + } + }, + "ListProfileResourceAssociationsRequest": { + "base": null, + "refs": { + } + }, + "ListProfileResourceAssociationsResponse": { + "base": null, + "refs": { + } + }, + "ListProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListProfilesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListProfileAssociationsRequest$MaxResults": " The maximum number of objects that you want to return for this request. If more objects are available, in the response, a NextToken
value, which you can use in a subsequent call to get the next batch of objects, is provided.
If you don't specify a value for MaxResults
, up to 100 objects are returned.
The maximum number of objects that you want to return for this request. If more objects are available, in the response, a NextToken
value, which you can use in a subsequent call to get the next batch of objects, is provided.
If you don't specify a value for MaxResults
, up to 100 objects are returned.
The maximum number of objects that you want to return for this request. If more objects are available, in the response, a NextToken
value, which you can use in a subsequent call to get the next batch of objects, is provided.
If you don't specify a value for MaxResults
, up to 100 objects are returned.
A name for the association.
", + "AssociateResourceToProfileRequest$Name": "Name for the resource association.
", + "CreateProfileRequest$Name": "A name for the Profile.
", + "Profile$Name": "Name of the Profile.
", + "ProfileAssociation$Name": "Name of the Profile association.
", + "ProfileResourceAssociation$Name": "Name of the Profile resource association.
", + "ProfileSummary$Name": "Name of the Profile.
", + "UpdateProfileResourceAssociationRequest$Name": "Name of the resource association.
" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListProfileAssociationsRequest$NextToken": "For the first call to this list request, omit this value.
When you request a list of objects, at most the number of objects specified by MaxResults
is returned. If more objects are available for retrieval, a NextToken
value is returned in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
If more than MaxResults
profile associations match the specified criteria, you can submit another ListProfileAssociations
request to get the next group of results. In the next request, specify the value of NextToken
from the previous response.
For the first call to this list request, omit this value.
When you request a list of objects, at most the number of objects specified by MaxResults
is returned. If more objects are available for retrieval, a NextToken
value is returned in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
If more than MaxResults
resource associations match the specified criteria, you can submit another ListProfileResourceAssociations
request to get the next group of results. In the next request, specify the value of NextToken
from the previous response.
For the first call to this list request, omit this value.
When you request a list of objects, at most the number of objects specified by MaxResults
is returned. If more objects are available for retrieval, a NextToken
value is returned in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
If more than MaxResults
resource associations match the specified criteria, you can submit another ListProfiles
request to get the next group of results. In the next request, specify the value of NextToken
from the previous response.
A complex type that includes settings for a Route 53 Profile.
", + "refs": { + "CreateProfileResponse$Profile": "The Profile that you just created.
", + "DeleteProfileResponse$Profile": " Information about the DeleteProfile
request, including the status of the request.
Information about the Profile, including the status of the Profile.
" + } + }, + "ProfileAssociation": { + "base": "An association between a Route 53 Profile and a VPC.
", + "refs": { + "AssociateProfileResponse$ProfileAssociation": "The association that you just created. The association has an ID that you can use to identify it in other requests, like update and delete.
", + "DisassociateProfileResponse$ProfileAssociation": " Information about the DisassociateProfile
request.
Information about the Profile association that you specified in a GetProfileAssociation
request.
A complex type that containts settings information about the profile's VPC associations.
" + } + }, + "ProfileResourceAssociation": { + "base": "The association between a Route 53 Profile and resources.
", + "refs": { + "AssociateResourceToProfileResponse$ProfileResourceAssociation": " Infromation about the AssociateResourceToProfile
, including a status message.
Information about the DisassociateResourceFromProfile
request, including the status of the request.
Information about the Profile resource association that you specified in a GetProfileResourceAssociation
request.
Information about the UpdateProfileResourceAssociation
request, including a status message.
Information about the profile resource association that you specified in a GetProfileResourceAssociation
request.
The status for the Profile.
", + "ProfileAssociation$Status": "Status of the Profile association.
", + "ProfileResourceAssociation$Status": "Status of the Profile resource association.
" + } + }, + "ProfileSummary": { + "base": "Summary information about a Route 53 Profile.
", + "refs": { + "ProfileSummaryList$member": null + } + }, + "ProfileSummaryList": { + "base": null, + "refs": { + "ListProfilesResponse$ProfileSummaries": "Summary information about the Profiles.
" + } + }, + "ResourceExistsException": { + "base": "The resource you are trying to associate, has already been associated.
", + "refs": { + } + }, + "ResourceId": { + "base": null, + "refs": { + "AssociateProfileRequest$ProfileId": "ID of the Profile.
", + "AssociateProfileRequest$ResourceId": "The ID of the VPC.
", + "AssociateResourceToProfileRequest$ProfileId": "ID of the Profile.
", + "DeleteProfileRequest$ProfileId": "The ID of the Profile that you want to delete.
", + "DisassociateProfileRequest$ProfileId": "ID of the Profile.
", + "DisassociateProfileRequest$ResourceId": "The ID of the VPC.
", + "DisassociateResourceFromProfileRequest$ProfileId": "The ID of the Profile.
", + "GetProfileAssociationRequest$ProfileAssociationId": "The identifier of the association you want to get information about.
", + "GetProfileRequest$ProfileId": "ID of the Profile.
", + "GetProfileResourceAssociationRequest$ProfileResourceAssociationId": "
The ID of the profile resource association that you want to get information about.
", + "ListProfileAssociationsRequest$ProfileId": "ID of the Profile.
", + "ListProfileAssociationsRequest$ResourceId": "ID of the VPC.
", + "ListProfileResourceAssociationsRequest$ProfileId": "The ID of the Profile.
", + "Profile$Id": "ID of the Profile.
", + "ProfileAssociation$Id": "ID of the Profile association.
", + "ProfileAssociation$ProfileId": "ID of the Profile.
", + "ProfileAssociation$ResourceId": "The Amazon Resource Name (ARN) of the VPC.
", + "ProfileResourceAssociation$Id": "ID of the Profile resource association.
", + "ProfileResourceAssociation$ProfileId": "Profile ID of the Profile that the resources are associated with.
", + "ProfileSummary$Id": "ID of the Profile.
", + "UpdateProfileResourceAssociationRequest$ProfileResourceAssociationId": "ID of the resource association.
" + } + }, + "ResourceNotFoundException": { + "base": "The resource you are associating is not found.
", + "refs": { + } + }, + "ResourceProperties": { + "base": null, + "refs": { + "AssociateResourceToProfileRequest$ResourceProperties": "If you are adding a DNS Firewall rule group, include also a priority in this format:
Key=FirewallRuleGroupPriority,Value=100
If the DNS resource is a DNS Firewall rule group, this indicates the priority.
", + "UpdateProfileResourceAssociationRequest$ResourceProperties": "If you are adding a DNS Firewall rule group, include also a priority in this format:
Key=FirewallRuleGroupPriority,Value=100
.
The date and time that the Profile was created, in Unix time format and Coordinated Universal Time (UTC).
", + "Profile$ModificationTime": "The date and time that the Profile was modified, in Unix time format and Coordinated Universal Time (UTC).
", + "ProfileAssociation$CreationTime": "The date and time that the Profile association was created, in Unix time format and Coordinated Universal Time (UTC).
", + "ProfileAssociation$ModificationTime": "The date and time that the Profile association was modified, in Unix time format and Coordinated Universal Time (UTC).
", + "ProfileResourceAssociation$CreationTime": "The date and time that the Profile resource association was created, in Unix time format and Coordinated Universal Time (UTC).
", + "ProfileResourceAssociation$ModificationTime": "The date and time that the Profile resource association was modified, in Unix time format and Coordinated Universal Time (UTC).
" + } + }, + "ShareStatus": { + "base": null, + "refs": { + "Profile$ShareStatus": "Sharing status for the Profile.
", + "ProfileSummary$ShareStatus": "Share status of the Profile.
" + } + }, + "String": { + "base": null, + "refs": { + "InvalidNextTokenException$Message": null, + "InvalidParameterException$FieldName": "The parameter field name for the invalid parameter exception.
", + "LimitExceededException$Message": null, + "LimitExceededException$ResourceType": "The resource type that caused the limits to be exceeded.
", + "ListProfileResourceAssociationsRequest$ResourceType": "ID of a resource if you want information on only one type.
", + "Profile$StatusMessage": "Status message that includes additiona information about the Profile.
", + "ProfileAssociation$StatusMessage": "Additional information about the Profile association.
", + "ProfileResourceAssociation$ResourceType": "Resource type, such as a private hosted zone, or DNS Firewall rule group.
", + "ProfileResourceAssociation$StatusMessage": "Additional information about the Profile resource association.
", + "ResourceExistsException$Message": null, + "ResourceExistsException$ResourceType": "The resource type that caused the resource exists exception.
", + "ResourceNotFoundException$Message": null, + "ResourceNotFoundException$ResourceType": "The resource type that caused the resource not found exception.
" + } + }, + "Tag": { + "base": "Tag for the Profile.
", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": " Key associated with the Tag
.
The tags that you want to remove to the specified resource.
" + } + }, + "TagList": { + "base": null, + "refs": { + "AssociateProfileRequest$Tags": "A list of the tag keys and values that you want to identify the Profile association.
", + "CreateProfileRequest$Tags": "A list of the tag keys and values that you want to associate with the Route 53 Profile.
" + } + }, + "TagMap": { + "base": null, + "refs": { + "ListTagsForResourceResponse$Tags": " The tags that are associated with the resource that you specified in the ListTagsForResource
request.
The tags that you want to add to the specified resource.
" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "Value for the Tag.
", + "TagMap$value": null + } + }, + "ThrottlingException": { + "base": "The request was throttled. Try again in a few minutes.
", + "refs": { + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateProfileResourceAssociationRequest": { + "base": null, + "refs": { + } + }, + "UpdateProfileResourceAssociationResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "You have provided an invalid command.
", + "refs": { + } + } + } +} diff --git a/models/apis/route53profiles/2018-05-10/endpoint-rule-set-1.json b/models/apis/route53profiles/2018-05-10/endpoint-rule-set-1.json new file mode 100644 index 00000000000..b5387298440 --- /dev/null +++ b/models/apis/route53profiles/2018-05-10/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53profiles-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53profiles-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53profiles.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://route53profiles.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/route53profiles/2018-05-10/endpoint-tests-1.json b/models/apis/route53profiles/2018-05-10/endpoint-tests-1.json new file mode 100644 index 00000000000..34fdea876e5 --- /dev/null +++ b/models/apis/route53profiles/2018-05-10/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://route53profiles.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/route53profiles/2018-05-10/examples-1.json b/models/apis/route53profiles/2018-05-10/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/route53profiles/2018-05-10/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/route53profiles/2018-05-10/paginators-1.json b/models/apis/route53profiles/2018-05-10/paginators-1.json new file mode 100644 index 00000000000..a321bb7cd68 --- /dev/null +++ b/models/apis/route53profiles/2018-05-10/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListProfileAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ProfileAssociations" + }, + "ListProfileResourceAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ProfileResourceAssociations" + }, + "ListProfiles": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ProfileSummaries" + } + } +} diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index 2ded92a6870..c5ff76ac2b1 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -7954,7 +7954,11 @@ "ExecutionRole":{"shape":"RoleArn"}, "SecurityGroups":{"shape":"SecurityGroupIds"}, "JupyterServerAppSettings":{"shape":"JupyterServerAppSettings"}, - "KernelGatewayAppSettings":{"shape":"KernelGatewayAppSettings"} + "KernelGatewayAppSettings":{"shape":"KernelGatewayAppSettings"}, + "JupyterLabAppSettings":{"shape":"JupyterLabAppSettings"}, + "SpaceStorageSettings":{"shape":"DefaultSpaceStorageSettings"}, + "CustomPosixUserConfig":{"shape":"CustomPosixUserConfig"}, + "CustomFileSystemConfigs":{"shape":"CustomFileSystemConfigs"} } }, "DefaultSpaceStorageSettings":{ diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index 0f5a9adb3f3..09ee096959f 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -3213,6 +3213,7 @@ "CustomFileSystemConfigs": { "base": null, "refs": { + "DefaultSpaceSettings$CustomFileSystemConfigs": "The settings for assigning a custom file system to a domain. Permitted users can access this file system in Amazon SageMaker Studio.
", "UserSettings$CustomFileSystemConfigs": "The settings for assigning a custom file system to a user profile. Permitted users can access this file system in Amazon SageMaker Studio.
" } }, @@ -3258,6 +3259,7 @@ "CustomPosixUserConfig": { "base": "Details about the POSIX identity that is used for file system operations.
", "refs": { + "DefaultSpaceSettings$CustomPosixUserConfig": null, "UserSettings$CustomPosixUserConfig": "Details about the POSIX identity that is used for file system operations.
" } }, @@ -3424,9 +3426,9 @@ } }, "DefaultEbsStorageSettings": { - "base": "A collection of default EBS storage settings that applies to private spaces created within a domain or user profile.
", + "base": "A collection of default EBS storage settings that apply to spaces created within a domain or user profile.
", "refs": { - "DefaultSpaceStorageSettings$DefaultEbsStorageSettings": "The default EBS storage settings for a private space.
" + "DefaultSpaceStorageSettings$DefaultEbsStorageSettings": "The default EBS storage settings for a space.
" } }, "DefaultGid": { @@ -3444,9 +3446,10 @@ } }, "DefaultSpaceStorageSettings": { - "base": "The default storage settings for a private space.
", + "base": "The default storage settings for a space.
", "refs": { - "UserSettings$SpaceStorageSettings": "The storage settings for a private space.
" + "DefaultSpaceSettings$SpaceStorageSettings": null, + "UserSettings$SpaceStorageSettings": "The storage settings for a space.
" } }, "DefaultUid": { @@ -4912,9 +4915,9 @@ } }, "EbsStorageSettings": { - "base": "A collection of EBS storage settings that applies to private spaces.
", + "base": "A collection of EBS storage settings that apply to both private and shared spaces.
", "refs": { - "SpaceStorageSettings$EbsStorageSettings": "A collection of EBS storage settings for a private space.
" + "SpaceStorageSettings$EbsStorageSettings": "A collection of EBS storage settings for a space.
" } }, "Edge": { @@ -7744,6 +7747,7 @@ "JupyterLabAppSettings": { "base": "The settings for the JupyterLab application.
", "refs": { + "DefaultSpaceSettings$JupyterLabAppSettings": null, "UserSettings$JupyterLabAppSettings": "The settings for the JupyterLab application.
" } }, @@ -13683,9 +13687,9 @@ "SpaceEbsVolumeSizeInGb": { "base": null, "refs": { - "DefaultEbsStorageSettings$DefaultEbsVolumeSizeInGb": "The default size of the EBS storage volume for a private space.
", - "DefaultEbsStorageSettings$MaximumEbsVolumeSizeInGb": "The maximum size of the EBS storage volume for a private space.
", - "EbsStorageSettings$EbsVolumeSizeInGb": "The size of an EBS storage volume for a private space.
" + "DefaultEbsStorageSettings$DefaultEbsVolumeSizeInGb": "The default size of the EBS storage volume for a space.
", + "DefaultEbsStorageSettings$MaximumEbsVolumeSizeInGb": "The maximum size of the EBS storage volume for a space.
", + "EbsStorageSettings$EbsVolumeSizeInGb": "The size of an EBS storage volume for a space.
" } }, "SpaceJupyterLabAppSettings": { @@ -13760,10 +13764,10 @@ } }, "SpaceStorageSettings": { - "base": "The storage settings for a private space.
", + "base": "The storage settings for a space.
", "refs": { - "SpaceSettings$SpaceStorageSettings": "The storage settings for a private space.
", - "SpaceSettingsSummary$SpaceStorageSettings": "The storage settings for a private space.
" + "SpaceSettings$SpaceStorageSettings": "The storage settings for a space.
", + "SpaceSettingsSummary$SpaceStorageSettings": "The storage settings for a space.
" } }, "SpawnRate": { @@ -16201,8 +16205,8 @@ "DescribeUserProfileResponse$UserProfileName": "The user profile name.
", "ListAppsRequest$UserProfileNameEquals": "A parameter to search by user profile name. If SpaceNameEquals
is set, then this value cannot be set.
A parameter by which to filter the results.
", - "OwnershipSettings$OwnerUserProfileName": "The user profile who is the owner of the private space.
", - "OwnershipSettingsSummary$OwnerUserProfileName": "The user profile who is the owner of the private space.
", + "OwnershipSettings$OwnerUserProfileName": "The user profile who is the owner of the space.
", + "OwnershipSettingsSummary$OwnerUserProfileName": "The user profile who is the owner of the space.
", "UpdateUserProfileRequest$UserProfileName": "The user profile name.
", "UserProfileDetails$UserProfileName": "The user profile name.
" } diff --git a/models/apis/servicediscovery/2017-03-14/docs-2.json b/models/apis/servicediscovery/2017-03-14/docs-2.json index 165b5e75ef3..da68eea062e 100644 --- a/models/apis/servicediscovery/2017-03-14/docs-2.json +++ b/models/apis/servicediscovery/2017-03-14/docs-2.json @@ -19,7 +19,7 @@ "ListInstances": "Lists summary information about the instances that you registered by using a specified service.
", "ListNamespaces": "Lists summary information about the namespaces that were created by the current Amazon Web Services account.
", "ListOperations": "Lists operations that match the criteria that you specify.
", - "ListServices": "Lists summary information for all the services that are associated with one or more specified namespaces.
", + "ListServices": "Lists summary information for all the services that are associated with one or more namespaces.
", "ListTagsForResource": "Lists tags for the specified resource.
", "RegisterInstance": "Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance
request, the following occurs:
For each DNS record that you define in the service that's specified by ServiceId
, a record is created or updated in the hosted zone that's associated with the corresponding namespace.
If the service includes HealthCheckConfig
, a health check is created based on the settings in the health check configuration.
The health check, if any, is associated with each of the new or updated records.
One RegisterInstance
request must complete before you can submit another request and specify the same service ID and instance ID.
For more information, see CreateService.
When Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:
If the health check is healthy: returns all the records
If the health check is unhealthy: returns the applicable value for the last healthy instance
If you didn't specify a health check configuration: returns all the records
For the current quota on the number of instances that you can register using the same namespace and using the same service, see Cloud Map quotas in the Cloud Map Developer Guide.
", "TagResource": "Adds one or more tags to the specified resource.
", @@ -69,7 +69,7 @@ "HttpInstanceSummary$Attributes": "If you included any attributes when you registered the instance, the values of those attributes.
", "Instance$Attributes": "A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.
Supported attribute keys include the following:
If you want Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see AliasTarget->DNSName in the Route 53 API Reference.
Note the following:
The configuration for the service that's specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that's specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that's specified by ServiceId
includes HealthCheckConfig
settings, Cloud Map creates the health check, but it won't associate the health check with the alias record.
Auto naming currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than ELB load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4
attribute contains the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com
).
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44
).
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
A string map that contains the following information:
The attributes that are associated with the instance.
For each attribute, the applicable value.
Supported attribute keys include the following:
For an alias record that routes traffic to an Elastic Load Balancing load balancer, the DNS name that's associated with the load balancer.
The Amazon EC2 instance ID for the instance. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute contains the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
For a CNAME
record, the domain name that Route 53 returns in response to DNS queries (for example, example.com
).
For an A
record, the IPv4 address that Route 53 returns in response to DNS queries (for example, 192.0.2.44
).
For an AAAA
record, the IPv6 address that Route 53 returns in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
For an SRV
record, the value that Route 53 returns for the port. In addition, if the service includes HealthCheckConfig
, the port on the endpoint that Route 53 sends requests to.
A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.
Supported attribute keys include the following:
If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.
Note the following:
The configuration for the service that's specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that's specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that's specified by ServiceId
includes HealthCheckConfig
settings, Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.
Cloud Map currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID
attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS
. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute will be filled out with the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com
).
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44
).
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.
A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Do not include sensitive information in the attributes if the namespace is discoverable by public DNS queries.
The following are the supported attribute keys.
If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.
Note the following:
The configuration for the service that's specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that's specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that's specified by ServiceId
includes HealthCheckConfig
settings, Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.
Cloud Map currently doesn't support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
The AWS_ALIAS_DNS_NAME
is not supported in the GovCloud (US) Regions.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID
attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS
. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute will be filled out with the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com
).
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44
).
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.
The HttpName
name of the namespace. It's found in the HttpProperties
member of the Properties
member of the namespace.
The HttpName
name of the namespace. It's found in the HttpProperties
member of the Properties
member of the namespace. In most cases, Name
and HttpName
match. However, if you reuse Name
for namespace creation, a generated hash is added to HttpName
to distinguish the two.
The HttpName
name of the namespace. It's found in the HttpProperties
member of the Properties
member of the namespace.
The name of an HTTP namespace.
", "Namespace$Name": "The name of the namespace, such as example.com
.
Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId
parameter.
Lists all workflows associated with your Amazon Web Services account for your current region.
", "SendWorkflowStepState": "Sends a callback for asynchronous custom steps.
The ExecutionId
, WorkflowId
, and Token
are passed to the target resource during execution of a custom step of a workflow. You must include those with their callback as well as providing a status.
Begins a file transfer between local Amazon Web Services storage and a remote AS2 or SFTP server.
For an AS2 connector, you specify the ConnectorId
and one or more SendFilePaths
to identify the files you want to transfer.
For an SFTP connector, the file transfer can be either outbound or inbound. In both cases, you specify the ConnectorId
. Depending on the direction of the transfer, you also specify the following items:
If you are transferring file from a partner's SFTP server to Amazon Web Services storage, you specify one or more RetreiveFilePaths
to identify the files you want to transfer, and a LocalDirectoryPath
to specify the destination folder.
If you are transferring file to a partner's SFTP server from Amazon Web Services storage, you specify one or more SendFilePaths
to identify the files you want to transfer, and a RemoteDirectoryPath
to specify the destination folder.
Retrieves a list of the contents of a directory from a remote SFTP server. You specify the connector ID, the output path, and the remote directory path. You can also specify the optional MaxItems
value to control the maximum number of items that are listed from the remote directory. This API returns a list of all files and directories in the remote directory (up to the maximum value), but does not return files or folders in sub-directories. That is, it only returns a list of files and directories one-level deep.
After you receive the listing file, you can provide the files that you want to transfer to the RetrieveFilePaths
parameter of the StartFileTransfer
API call.
The naming convention for the output file is connector-ID-listing-ID.json
. The output file contains the following information:
filePath
: the complete path of a remote file, relative to the directory of the listing request for your SFTP connector on the remote server.
modifiedTimestamp
: the last time the file was modified, in UTC time format. This field is optional. If the remote file attributes don't contain a timestamp, it is omitted from the file listing.
size
: the size of the file, in bytes. This field is optional. If the remote file attributes don't contain a file size, it is omitted from the file listing.
path
: the complete path of a remote directory, relative to the directory of the listing request for your SFTP connector on the remote server.
truncated
: a flag indicating whether the list output contains all of the items contained in the remote directory or not. If your Truncated
output value is true, you can increase the value provided in the optional max-items
input attribute to be able to list more items (up to the maximum allowed list size of 10,000 items).
Begins a file transfer between local Amazon Web Services storage and a remote AS2 or SFTP server.
For an AS2 connector, you specify the ConnectorId
and one or more SendFilePaths
to identify the files you want to transfer.
For an SFTP connector, the file transfer can be either outbound or inbound. In both cases, you specify the ConnectorId
. Depending on the direction of the transfer, you also specify the following items:
If you are transferring file from a partner's SFTP server to Amazon Web Services storage, you specify one or more RetrieveFilePaths
to identify the files you want to transfer, and a LocalDirectoryPath
to specify the destination folder.
If you are transferring file to a partner's SFTP server from Amazon Web Services storage, you specify one or more SendFilePaths
to identify the files you want to transfer, and a RemoteDirectoryPath
to specify the destination folder.
Changes the state of a file transfer protocol-enabled server from OFFLINE
to ONLINE
. It has no impact on a server that is already ONLINE
. An ONLINE
server can accept and process file transfer jobs.
The state of STARTING
indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED
can indicate an error condition.
No response is returned from this call.
", "StopServer": "Changes the state of a file transfer protocol-enabled server from ONLINE
to OFFLINE
. An OFFLINE
server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server.
Stopping the server does not reduce or impact your file transfer protocol endpoint billing; you must delete the server to stop being billed.
The state of STOPPING
indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED
can indicate an error condition.
No response is returned from this call.
", "TagResource": "Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.
There is no response returned from this call.
", @@ -248,9 +249,9 @@ "CertificateUsageType": { "base": null, "refs": { - "DescribedCertificate$Usage": "Specifies how this certificate is used. It can be used in the following ways:
SIGNING
: For signing AS2 messages
ENCRYPTION
: For encrypting AS2 messages
TLS
: For securing AS2 communications sent over HTTPS
Specifies how this certificate is used. It can be used in the following ways:
SIGNING
: For signing AS2 messages
ENCRYPTION
: For encrypting AS2 messages
TLS
: For securing AS2 communications sent over HTTPS
Specifies how this certificate is used. It can be used in the following ways:
SIGNING
: For signing AS2 messages
ENCRYPTION
: For encrypting AS2 messages
TLS
: For securing AS2 communications sent over HTTPS
Specifies whether this certificate is used for signing or encryption.
", + "ImportCertificateRequest$Usage": "Specifies whether this certificate is used for signing or encryption.
", + "ListedCertificate$Usage": "Specifies whether this certificate is used for signing or encryption.
" } }, "CompressionEnum": { @@ -272,6 +273,7 @@ "DescribeConnectorRequest$ConnectorId": "The unique identifier for the connector.
", "DescribedConnector$ConnectorId": "The unique identifier for the connector.
", "ListedConnector$ConnectorId": "The unique identifier for the connector.
", + "StartDirectoryListingRequest$ConnectorId": "The unique identifier for the connector.
", "StartFileTransferRequest$ConnectorId": "The unique identifier for the connector.
", "TestConnectionRequest$ConnectorId": "The unique identifier for the connector.
", "TestConnectionResponse$ConnectorId": "Returns the identifier of the connector object that you are testing.
", @@ -791,6 +793,8 @@ "base": null, "refs": { "FilePaths$member": null, + "StartDirectoryListingRequest$RemoteDirectoryPath": "Specifies the directory on the remote SFTP server for which you want to list its contents.
", + "StartDirectoryListingRequest$OutputDirectoryPath": "Specifies the path (bucket and prefix) in Amazon S3 storage to store the results of the directory listing.
", "StartFileTransferRequest$LocalDirectoryPath": "For an inbound transfer, the LocaDirectoryPath
specifies the destination for one or more files that are transferred from the partner's SFTP server.
For an outbound transfer, the RemoteDirectoryPath
specifies the destination for one or more files that are transferred to the partner's SFTP server. If you don't specify a RemoteDirectoryPath
, the destination for transferred files is the SFTP user's home directory.
Returns the Arn
, WorkflowId
, and Description
for each workflow.
Returns a unique identifier for the directory listing call.
" + } + }, "LogGroupName": { "base": null, "refs": { @@ -1242,6 +1252,12 @@ "HomeDirectoryMapEntry$Type": "Specifies the type of mapping. Set the type to FILE
if you want the mapping to point to a file, or DIRECTORY
for the directory to point to a directory.
By default, home directory mappings have a Type
of DIRECTORY
when you create a Transfer Family server. You would need to explicitly set Type
to FILE
if you want a mapping to have a file target.
An optional parameter where you can specify the maximum number of file/directory names to retrieve. The default value is 1,000.
" + } + }, "MaxResults": { "base": null, "refs": { @@ -1339,6 +1355,12 @@ "WorkflowDetails$OnUpload": "A trigger that starts a workflow: the workflow begins to execute after a file is uploaded.
To remove an associated workflow from a server, you can provide an empty OnUpload
object, as in the following example.
aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{\"OnUpload\":[]}'
Returns the file name where the results are stored. This is a combination of the connector ID and the listing ID: <connector-id>-<listing-id>.json
.
Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
" } }, + "StartDirectoryListingRequest": { + "base": null, + "refs": { + } + }, + "StartDirectoryListingResponse": { + "base": null, + "refs": { + } + }, "StartFileTransferRequest": { "base": null, "refs": { diff --git a/service/bedrockagent/api.go b/service/bedrockagent/api.go index bfc4e52d94d..42ab5b1e3da 100644 --- a/service/bedrockagent/api.go +++ b/service/bedrockagent/api.go @@ -4453,6 +4453,10 @@ func (s *AccessDeniedException) RequestID() string { type ActionGroupExecutor struct { _ struct{} `type:"structure"` + // To return the action group invocation results directly in the InvokeAgent + // response, specify RETURN_CONTROL. + CustomControl *string `locationName:"customControl" type:"string" enum:"CustomControlMethod"` + // The Amazon Resource Name (ARN) of the Lambda function containing the business // logic that is carried out upon invoking the action. Lambda *string `locationName:"lambda" type:"string"` @@ -4476,6 +4480,12 @@ func (s ActionGroupExecutor) GoString() string { return s.String() } +// SetCustomControl sets the CustomControl field's value. +func (s *ActionGroupExecutor) SetCustomControl(v string) *ActionGroupExecutor { + s.CustomControl = &v + return s +} + // SetLambda sets the Lambda field's value. func (s *ActionGroupExecutor) SetLambda(v string) *ActionGroupExecutor { s.Lambda = &v @@ -4852,6 +4862,10 @@ type AgentActionGroup struct { // The description of the action group. Description *string `locationName:"description" min:"1" type:"string"` + // Defines functions that each define parameters that the agent needs to invoke + // from the user. Each function represents an action in an action group. + FunctionSchema *FunctionSchema `locationName:"functionSchema" type:"structure"` + // If this field is set as AMAZON.UserInput, the agent can request the user // for additional information when trying to complete a task. The description, // apiSchema, and actionGroupExecutor fields must be blank for this action group. @@ -4947,6 +4961,12 @@ func (s *AgentActionGroup) SetDescription(v string) *AgentActionGroup { return s } +// SetFunctionSchema sets the FunctionSchema field's value. +func (s *AgentActionGroup) SetFunctionSchema(v *FunctionSchema) *AgentActionGroup { + s.FunctionSchema = v + return s +} + // SetParentActionSignature sets the ParentActionSignature field's value. func (s *AgentActionGroup) SetParentActionSignature(v string) *AgentActionGroup { s.ParentActionSignature = &v @@ -6178,6 +6198,10 @@ type CreateAgentActionGroupInput struct { // A description of the action group. Description *string `locationName:"description" min:"1" type:"string"` + // Contains details about the function schema for the action group or the JSON + // or YAML-formatted payload defining the schema. + FunctionSchema *FunctionSchema `locationName:"functionSchema" type:"structure"` + // To allow your agent to request the user for additional information when trying // to complete a task, set this field to AMAZON.UserInput. You must leave the // description, apiSchema, and actionGroupExecutor fields blank for this action @@ -6238,6 +6262,11 @@ func (s *CreateAgentActionGroupInput) Validate() error { invalidParams.AddNested("ApiSchema", err.(request.ErrInvalidParams)) } } + if s.FunctionSchema != nil { + if err := s.FunctionSchema.Validate(); err != nil { + invalidParams.AddNested("FunctionSchema", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6293,6 +6322,12 @@ func (s *CreateAgentActionGroupInput) SetDescription(v string) *CreateAgentActio return s } +// SetFunctionSchema sets the FunctionSchema field's value. +func (s *CreateAgentActionGroupInput) SetFunctionSchema(v *FunctionSchema) *CreateAgentActionGroupInput { + s.FunctionSchema = v + return s +} + // SetParentActionGroupSignature sets the ParentActionGroupSignature field's value. func (s *CreateAgentActionGroupInput) SetParentActionGroupSignature(v string) *CreateAgentActionGroupInput { s.ParentActionGroupSignature = &v @@ -8169,6 +8204,162 @@ func (s *FixedSizeChunkingConfiguration) SetOverlapPercentage(v int64) *FixedSiz return s } +// Defines parameters that the agent needs to invoke from the user to complete +// the function. Corresponds to an action in an action group. +// +// This data type is used in the following API operations: +// +// - CreateAgentActionGroup request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_RequestSyntax) +// +// - CreateAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_ResponseSyntax) +// +// - UpdateAgentActionGroup request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_RequestSyntax) +// +// - UpdateAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_ResponseSyntax) +// +// - GetAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgentActionGroup.html#API_agent_GetAgentActionGroup_ResponseSyntax) +type Function struct { + _ struct{} `type:"structure"` + + // A description of the function and its purpose. + Description *string `locationName:"description" min:"1" type:"string"` + + // A name for the function. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The parameters that the agent elicits from the user to fulfill the function. + Parameters map[string]*ParameterDetail `locationName:"parameters" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Function) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Function) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Function) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Function"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Parameters != nil { + for i, v := range s.Parameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Parameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *Function) SetDescription(v string) *Function { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *Function) SetName(v string) *Function { + s.Name = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *Function) SetParameters(v map[string]*ParameterDetail) *Function { + s.Parameters = v + return s +} + +// Defines functions that each define parameters that the agent needs to invoke +// from the user. Each function represents an action in an action group. +// +// This data type is used in the following API operations: +// +// - CreateAgentActionGroup request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_RequestSyntax) +// +// - CreateAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_ResponseSyntax) +// +// - UpdateAgentActionGroup request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_RequestSyntax) +// +// - UpdateAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_ResponseSyntax) +// +// - GetAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgentActionGroup.html#API_agent_GetAgentActionGroup_ResponseSyntax) +type FunctionSchema struct { + _ struct{} `type:"structure"` + + // A list of functions that each define an action in the action group. + Functions []*Function `locationName:"functions" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FunctionSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FunctionSchema) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FunctionSchema) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionSchema"} + if s.Functions != nil { + for i, v := range s.Functions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFunctions sets the Functions field's value. +func (s *FunctionSchema) SetFunctions(v []*Function) *FunctionSchema { + s.Functions = v + return s +} + type GetAgentActionGroupInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -9072,7 +9263,7 @@ func (s *InferenceConfiguration) SetTopP(v float64) *InferenceConfiguration { // // - GetIngestionJob response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html#API_agent_GetIngestionJob_ResponseSyntax) // -// - ListIngestionJob response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJob.html#API_agent_ListIngestionJob_ResponseSyntax) +// - ListIngestionJob response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListIngestionJobs.html#API_agent_ListIngestionJobs_ResponseSyntax) type IngestionJob struct { _ struct{} `type:"structure"` @@ -11155,6 +11346,88 @@ func (s *OpenSearchServerlessFieldMapping) SetVectorField(v string) *OpenSearchS return s } +// Contains details about a parameter in a function for an action group. +// +// This data type is used in the following API operations: +// +// - CreateAgentActionGroup request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_RequestSyntax) +// +// - CreateAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_ResponseSyntax) +// +// - UpdateAgentActionGroup request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_RequestSyntax) +// +// - UpdateAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_ResponseSyntax) +// +// - GetAgentActionGroup response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgentActionGroup.html#API_agent_GetAgentActionGroup_ResponseSyntax) +type ParameterDetail struct { + _ struct{} `type:"structure"` + + // A description of the parameter. Helps the foundation model determine how + // to elicit the parameters from the user. + Description *string `locationName:"description" min:"1" type:"string"` + + // Whether the parameter is required for the agent to complete the function + // for action group invocation. + Required *bool `locationName:"required" type:"boolean"` + + // The data type of the parameter. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"Type"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ParameterDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ParameterDetail) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParameterDetail) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParameterDetail"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *ParameterDetail) SetDescription(v string) *ParameterDetail { + s.Description = &v + return s +} + +// SetRequired sets the Required field's value. +func (s *ParameterDetail) SetRequired(v bool) *ParameterDetail { + s.Required = &v + return s +} + +// SetType sets the Type field's value. +func (s *ParameterDetail) SetType(v string) *ParameterDetail { + s.Type = &v + return s +} + // Contains details about the storage configuration of the knowledge base in // Pinecone. For more information, see Create a vector index in Pinecone (https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup-pinecone.html). type PineconeConfiguration struct { @@ -12794,6 +13067,10 @@ type UpdateAgentActionGroupInput struct { // Specifies a new name for the action group. Description *string `locationName:"description" min:"1" type:"string"` + // Contains details about the function schema for the action group or the JSON + // or YAML-formatted payload defining the schema. + FunctionSchema *FunctionSchema `locationName:"functionSchema" type:"structure"` + // To allow your agent to request the user for additional information when trying // to complete a task, set this field to AMAZON.UserInput. You must leave the // description, apiSchema, and actionGroupExecutor fields blank for this action @@ -12857,6 +13134,11 @@ func (s *UpdateAgentActionGroupInput) Validate() error { invalidParams.AddNested("ApiSchema", err.(request.ErrInvalidParams)) } } + if s.FunctionSchema != nil { + if err := s.FunctionSchema.Validate(); err != nil { + invalidParams.AddNested("FunctionSchema", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -12912,6 +13194,12 @@ func (s *UpdateAgentActionGroupInput) SetDescription(v string) *UpdateAgentActio return s } +// SetFunctionSchema sets the FunctionSchema field's value. +func (s *UpdateAgentActionGroupInput) SetFunctionSchema(v *FunctionSchema) *UpdateAgentActionGroupInput { + s.FunctionSchema = v + return s +} + // SetParentActionGroupSignature sets the ParentActionGroupSignature field's value. func (s *UpdateAgentActionGroupInput) SetParentActionGroupSignature(v string) *UpdateAgentActionGroupInput { s.ParentActionGroupSignature = &v @@ -14122,6 +14410,18 @@ func CreationMode_Values() []string { } } +const ( + // CustomControlMethodReturnControl is a CustomControlMethod enum value + CustomControlMethodReturnControl = "RETURN_CONTROL" +) + +// CustomControlMethod_Values returns all elements of the CustomControlMethod enum +func CustomControlMethod_Values() []string { + return []string{ + CustomControlMethodReturnControl, + } +} + const ( // DataSourceStatusAvailable is a DataSourceStatus enum value DataSourceStatusAvailable = "AVAILABLE" @@ -14349,3 +14649,31 @@ func SortOrder_Values() []string { SortOrderDescending, } } + +const ( + // TypeString is a Type enum value + TypeString = "string" + + // TypeNumber is a Type enum value + TypeNumber = "number" + + // TypeInteger is a Type enum value + TypeInteger = "integer" + + // TypeBoolean is a Type enum value + TypeBoolean = "boolean" + + // TypeArray is a Type enum value + TypeArray = "array" +) + +// Type_Values returns all elements of the Type enum +func Type_Values() []string { + return []string{ + TypeString, + TypeNumber, + TypeInteger, + TypeBoolean, + TypeArray, + } +} diff --git a/service/bedrockagentruntime/api.go b/service/bedrockagentruntime/api.go index f993ed651b2..89b5271926a 100644 --- a/service/bedrockagentruntime/api.go +++ b/service/bedrockagentruntime/api.go @@ -72,7 +72,8 @@ func (c *BedrockAgentRuntime) InvokeAgentRequest(input *InvokeAgentInput) (req * // InvokeAgent API operation for Agents for Amazon Bedrock Runtime. // -// Sends a prompt for the agent to process and respond to. +// Sends a prompt for the agent to process and respond to. Use return control +// event type for function calling. // // The CLI doesn't support InvokeAgent. // @@ -86,7 +87,10 @@ func (c *BedrockAgentRuntime) InvokeAgentRequest(input *InvokeAgentInput) (req * // // - End a conversation by setting endSession to true. // -// - Include attributes for the session or prompt in the sessionState object. +// - In the sessionState object, you can include attributes for the session +// or prompt or parameters returned from the action group. +// +// - Use return control event type for function calling. // // The response is returned in the bytes field of the chunk object. // @@ -111,8 +115,8 @@ func (c *BedrockAgentRuntime) InvokeAgentRequest(input *InvokeAgentInput) (req * // your request. // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - ValidationException // Input validation failed. Check your request parameters and retry the request. @@ -242,6 +246,7 @@ func (es *InvokeAgentEventStream) waitStreamPartClose() { // These events are: // // - PayloadPart +// - ReturnControlPayload // - TracePart // - ResponseStreamUnknownEvent func (es *InvokeAgentEventStream) Events() <-chan ResponseStreamEvent { @@ -373,8 +378,8 @@ func (c *BedrockAgentRuntime) RetrieveRequest(input *RetrieveInput) (req *reques // your request. // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - ValidationException // Input validation failed. Check your request parameters and retry the request. @@ -532,8 +537,8 @@ func (c *BedrockAgentRuntime) RetrieveAndGenerateRequest(input *RetrieveAndGener // your request. // // - ResourceNotFoundException -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. // // - ValidationException // Input validation failed. Check your request parameters and retry the request. @@ -674,7 +679,10 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -// Contains information about the action group being invoked. +// Contains information about the action group being invoked. For more information +// about the possible structures, see the InvocationInput tab in OrchestrationTrace +// (https://docs.aws.amazon.com/bedrock/latest/userguide/trace-orchestration.html) +// in the Amazon Bedrock User Guide. type ActionGroupInvocationInput_ struct { _ struct{} `type:"structure"` @@ -692,6 +700,13 @@ type ActionGroupInvocationInput_ struct { // String and GoString methods. ApiPath *string `locationName:"apiPath" type:"string" sensitive:"true"` + // The function in the action group to call. + // + // Function is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ActionGroupInvocationInput_'s + // String and GoString methods. + Function *string `locationName:"function" type:"string" sensitive:"true"` + // The parameters in the Lambda input event. Parameters []*Parameter `locationName:"parameters" type:"list"` @@ -736,6 +751,12 @@ func (s *ActionGroupInvocationInput_) SetApiPath(v string) *ActionGroupInvocatio return s } +// SetFunction sets the Function field's value. +func (s *ActionGroupInvocationInput_) SetFunction(v string) *ActionGroupInvocationInput_ { + s.Function = &v + return s +} + // SetParameters sets the Parameters field's value. func (s *ActionGroupInvocationInput_) SetParameters(v []*Parameter) *ActionGroupInvocationInput_ { s.Parameters = v @@ -791,6 +812,284 @@ func (s *ActionGroupInvocationOutput_) SetText(v string) *ActionGroupInvocationO return s } +// Contains information about the API operation that the agent predicts should +// be called. +// +// This data type is used in the following API operations: +// +// - In the returnControl field of the Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type ApiInvocationInput_ struct { + _ struct{} `type:"structure"` + + // The action group that the API operation belongs to. + // + // ActionGroup is a required field + ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"` + + // The path to the API operation. + // + // ApiPath is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ApiInvocationInput_'s + // String and GoString methods. + ApiPath *string `locationName:"apiPath" type:"string" sensitive:"true"` + + // The HTTP method of the API operation. + HttpMethod *string `locationName:"httpMethod" type:"string"` + + // The parameters to provide for the API request, as the agent elicited from + // the user. + Parameters []*ApiParameter `locationName:"parameters" type:"list"` + + // The request body to provide for the API request, as the agent elicited from + // the user. + RequestBody *ApiRequestBody `locationName:"requestBody" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiInvocationInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiInvocationInput_) GoString() string { + return s.String() +} + +// SetActionGroup sets the ActionGroup field's value. +func (s *ApiInvocationInput_) SetActionGroup(v string) *ApiInvocationInput_ { + s.ActionGroup = &v + return s +} + +// SetApiPath sets the ApiPath field's value. +func (s *ApiInvocationInput_) SetApiPath(v string) *ApiInvocationInput_ { + s.ApiPath = &v + return s +} + +// SetHttpMethod sets the HttpMethod field's value. +func (s *ApiInvocationInput_) SetHttpMethod(v string) *ApiInvocationInput_ { + s.HttpMethod = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *ApiInvocationInput_) SetParameters(v []*ApiParameter) *ApiInvocationInput_ { + s.Parameters = v + return s +} + +// SetRequestBody sets the RequestBody field's value. +func (s *ApiInvocationInput_) SetRequestBody(v *ApiRequestBody) *ApiInvocationInput_ { + s.RequestBody = v + return s +} + +// Information about a parameter to provide to the API request. +// +// This data type is used in the following API operations: +// +// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type ApiParameter struct { + _ struct{} `type:"structure"` + + // The name of the parameter. + Name *string `locationName:"name" type:"string"` + + // The data type for the parameter. + Type *string `locationName:"type" type:"string"` + + // The value of the parameter. + Value *string `locationName:"value" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiParameter) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *ApiParameter) SetName(v string) *ApiParameter { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *ApiParameter) SetType(v string) *ApiParameter { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ApiParameter) SetValue(v string) *ApiParameter { + s.Value = &v + return s +} + +// The request body to provide for the API request, as the agent elicited from +// the user. +// +// This data type is used in the following API operations: +// +// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type ApiRequestBody struct { + _ struct{} `type:"structure"` + + // The content of the request body. The key of the object in this field is a + // media type defining the format of the request body. + Content map[string]*PropertyParameters `locationName:"content" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiRequestBody) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiRequestBody) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *ApiRequestBody) SetContent(v map[string]*PropertyParameters) *ApiRequestBody { + s.Content = v + return s +} + +// Contains information about the API operation that was called from the action +// group and the response body that was returned. +// +// This data type is used in the following API operations: +// +// - In the returnControlInvocationResults of the Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax) +type ApiResult struct { + _ struct{} `type:"structure"` + + // The action group that the API operation belongs to. + // + // ActionGroup is a required field + ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"` + + // The path to the API operation. + // + // ApiPath is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ApiResult's + // String and GoString methods. + ApiPath *string `locationName:"apiPath" type:"string" sensitive:"true"` + + // The HTTP method for the API operation. + HttpMethod *string `locationName:"httpMethod" type:"string"` + + // http status code from API execution response (for example: 200, 400, 500). + HttpStatusCode *int64 `locationName:"httpStatusCode" type:"integer"` + + // The response body from the API operation. The key of the object is the content + // type. The response may be returned directly or from the Lambda function. + ResponseBody map[string]*ContentBody `locationName:"responseBody" type:"map"` + + // Controls the final response state returned to end user when API/Function + // execution failed. When this state is FAILURE, the request would fail with + // dependency failure exception. When this state is REPROMPT, the API/function + // response will be sent to model for re-prompt + ResponseState *string `locationName:"responseState" type:"string" enum:"ResponseState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ApiResult) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ApiResult) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ApiResult"} + if s.ActionGroup == nil { + invalidParams.Add(request.NewErrParamRequired("ActionGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionGroup sets the ActionGroup field's value. +func (s *ApiResult) SetActionGroup(v string) *ApiResult { + s.ActionGroup = &v + return s +} + +// SetApiPath sets the ApiPath field's value. +func (s *ApiResult) SetApiPath(v string) *ApiResult { + s.ApiPath = &v + return s +} + +// SetHttpMethod sets the HttpMethod field's value. +func (s *ApiResult) SetHttpMethod(v string) *ApiResult { + s.HttpMethod = &v + return s +} + +// SetHttpStatusCode sets the HttpStatusCode field's value. +func (s *ApiResult) SetHttpStatusCode(v int64) *ApiResult { + s.HttpStatusCode = &v + return s +} + +// SetResponseBody sets the ResponseBody field's value. +func (s *ApiResult) SetResponseBody(v map[string]*ContentBody) *ApiResult { + s.ResponseBody = v + return s +} + +// SetResponseState sets the ResponseState field's value. +func (s *ApiResult) SetResponseState(v string) *ApiResult { + s.ResponseState = &v + return s +} + // Contains citations for a part of an agent response. type Attribution struct { _ struct{} `type:"structure"` @@ -1064,6 +1363,43 @@ func (s *ConflictException) RequestID() string { return s.RespMetadata.RequestID } +// Contains the body of the API response. +// +// This data type is used in the following API operations: +// +// - In the returnControlInvocationResults field of the Retrieve request +// (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax) +type ContentBody struct { + _ struct{} `type:"structure"` + + // The body of the API response. + Body *string `locationName:"body" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContentBody) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContentBody) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *ContentBody) SetBody(v string) *ContentBody { + s.Body = &v + return s +} + // There was an issue with a dependency. Check the resource configurations and // retry the request. type DependencyFailedException struct { @@ -1166,15 +1502,156 @@ func (s *DependencyFailedException) RequestID() string { type FailureTrace struct { _ struct{} `type:"structure" sensitive:"true"` - // The reason the interaction failed. - // - // FailureReason is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by FailureTrace's - // String and GoString methods. - FailureReason *string `locationName:"failureReason" type:"string" sensitive:"true"` + // The reason the interaction failed. + // + // FailureReason is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by FailureTrace's + // String and GoString methods. + FailureReason *string `locationName:"failureReason" type:"string" sensitive:"true"` + + // The unique identifier of the trace. + TraceId *string `locationName:"traceId" min:"2" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailureTrace) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FailureTrace) GoString() string { + return s.String() +} + +// SetFailureReason sets the FailureReason field's value. +func (s *FailureTrace) SetFailureReason(v string) *FailureTrace { + s.FailureReason = &v + return s +} + +// SetTraceId sets the TraceId field's value. +func (s *FailureTrace) SetTraceId(v string) *FailureTrace { + s.TraceId = &v + return s +} + +// Contains details about the response to the user. +type FinalResponse struct { + _ struct{} `type:"structure"` + + // The text in the response to the user. + // + // Text is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by FinalResponse's + // String and GoString methods. + Text *string `locationName:"text" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FinalResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FinalResponse) GoString() string { + return s.String() +} + +// SetText sets the Text field's value. +func (s *FinalResponse) SetText(v string) *FinalResponse { + s.Text = &v + return s +} + +// Contains information about the function that the agent predicts should be +// called. +// +// This data type is used in the following API operations: +// +// - In the returnControl field of the Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type FunctionInvocationInput_ struct { + _ struct{} `type:"structure"` + + // The action group that the function belongs to. + // + // ActionGroup is a required field + ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"` + + // The name of the function. + Function *string `locationName:"function" type:"string"` + + // A list of parameters of the function. + Parameters []*FunctionParameter `locationName:"parameters" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FunctionInvocationInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FunctionInvocationInput_) GoString() string { + return s.String() +} + +// SetActionGroup sets the ActionGroup field's value. +func (s *FunctionInvocationInput_) SetActionGroup(v string) *FunctionInvocationInput_ { + s.ActionGroup = &v + return s +} + +// SetFunction sets the Function field's value. +func (s *FunctionInvocationInput_) SetFunction(v string) *FunctionInvocationInput_ { + s.Function = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *FunctionInvocationInput_) SetParameters(v []*FunctionParameter) *FunctionInvocationInput_ { + s.Parameters = v + return s +} + +// Contains information about a parameter of the function. +// +// This data type is used in the following API operations: +// +// - In the returnControl field of the Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type FunctionParameter struct { + _ struct{} `type:"structure"` + + // The name of the parameter. + Name *string `locationName:"name" type:"string"` + + // The data type of the parameter. + Type *string `locationName:"type" type:"string"` - // The unique identifier of the trace. - TraceId *string `locationName:"traceId" min:"2" type:"string"` + // The value of the parameter. + Value *string `locationName:"value" type:"string"` } // String returns the string representation. @@ -1182,7 +1659,7 @@ type FailureTrace struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FailureTrace) String() string { +func (s FunctionParameter) String() string { return awsutil.Prettify(s) } @@ -1191,32 +1668,54 @@ func (s FailureTrace) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FailureTrace) GoString() string { +func (s FunctionParameter) GoString() string { return s.String() } -// SetFailureReason sets the FailureReason field's value. -func (s *FailureTrace) SetFailureReason(v string) *FailureTrace { - s.FailureReason = &v +// SetName sets the Name field's value. +func (s *FunctionParameter) SetName(v string) *FunctionParameter { + s.Name = &v return s } -// SetTraceId sets the TraceId field's value. -func (s *FailureTrace) SetTraceId(v string) *FailureTrace { - s.TraceId = &v +// SetType sets the Type field's value. +func (s *FunctionParameter) SetType(v string) *FunctionParameter { + s.Type = &v return s } -// Contains details about the response to the user. -type FinalResponse struct { +// SetValue sets the Value field's value. +func (s *FunctionParameter) SetValue(v string) *FunctionParameter { + s.Value = &v + return s +} + +// Contains information about the function that was called from the action group +// and the response that was returned. +// +// This data type is used in the following API operations: +// +// - In the returnControlInvocationResults of the Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax) +type FunctionResult struct { _ struct{} `type:"structure"` - // The text in the response to the user. + // The action group that the function belongs to. // - // Text is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by FinalResponse's - // String and GoString methods. - Text *string `locationName:"text" type:"string" sensitive:"true"` + // ActionGroup is a required field + ActionGroup *string `locationName:"actionGroup" type:"string" required:"true"` + + // The name of the function that was called. + Function *string `locationName:"function" type:"string"` + + // The response from the function call using the parameters. The response may + // be returned directly or from the Lambda function. + ResponseBody map[string]*ContentBody `locationName:"responseBody" type:"map"` + + // Controls the final response state returned to end user when API/Function + // execution failed. When this state is FAILURE, the request would fail with + // dependency failure exception. When this state is REPROMPT, the API/function + // response will be sent to model for re-prompt + ResponseState *string `locationName:"responseState" type:"string" enum:"ResponseState"` } // String returns the string representation. @@ -1224,7 +1723,7 @@ type FinalResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FinalResponse) String() string { +func (s FunctionResult) String() string { return awsutil.Prettify(s) } @@ -1233,13 +1732,44 @@ func (s FinalResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s FinalResponse) GoString() string { +func (s FunctionResult) GoString() string { return s.String() } -// SetText sets the Text field's value. -func (s *FinalResponse) SetText(v string) *FinalResponse { - s.Text = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *FunctionResult) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionResult"} + if s.ActionGroup == nil { + invalidParams.Add(request.NewErrParamRequired("ActionGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActionGroup sets the ActionGroup field's value. +func (s *FunctionResult) SetActionGroup(v string) *FunctionResult { + s.ActionGroup = &v + return s +} + +// SetFunction sets the Function field's value. +func (s *FunctionResult) SetFunction(v string) *FunctionResult { + s.Function = &v + return s +} + +// SetResponseBody sets the ResponseBody field's value. +func (s *FunctionResult) SetResponseBody(v map[string]*ContentBody) *FunctionResult { + s.ResponseBody = v + return s +} + +// SetResponseState sets the ResponseState field's value. +func (s *FunctionResult) SetResponseState(v string) *FunctionResult { + s.ResponseState = &v return s } @@ -1519,6 +2049,54 @@ func (s *InternalServerException) RequestID() string { return s.RespMetadata.RequestID } +// Contains details about the API operation or function that the agent predicts +// should be called. +// +// This data type is used in the following API operations: +// +// - In the returnControl field of the Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type InvocationInputMember struct { + _ struct{} `type:"structure"` + + // Contains information about the API operation that the agent predicts should + // be called. + ApiInvocationInput *ApiInvocationInput_ `locationName:"apiInvocationInput" type:"structure"` + + // Contains information about the function that the agent predicts should be + // called. + FunctionInvocationInput *FunctionInvocationInput_ `locationName:"functionInvocationInput" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvocationInputMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvocationInputMember) GoString() string { + return s.String() +} + +// SetApiInvocationInput sets the ApiInvocationInput field's value. +func (s *InvocationInputMember) SetApiInvocationInput(v *ApiInvocationInput_) *InvocationInputMember { + s.ApiInvocationInput = v + return s +} + +// SetFunctionInvocationInput sets the FunctionInvocationInput field's value. +func (s *InvocationInputMember) SetFunctionInvocationInput(v *FunctionInvocationInput_) *InvocationInputMember { + s.FunctionInvocationInput = v + return s +} + // Contains information pertaining to the action group or knowledge base that // is being invoked. type InvocationInput_ struct { @@ -1580,6 +2158,71 @@ func (s *InvocationInput_) SetTraceId(v string) *InvocationInput_ { return s } +// A result from the action group invocation. +// +// This data type is used in the following API operations: +// +// - Retrieve request (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_RequestSyntax) +type InvocationResultMember struct { + _ struct{} `type:"structure"` + + // The result from the API response from the action group invocation. + ApiResult *ApiResult `locationName:"apiResult" type:"structure"` + + // The result from the function from the action group invocation. + FunctionResult *FunctionResult `locationName:"functionResult" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvocationResultMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvocationResultMember) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InvocationResultMember) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InvocationResultMember"} + if s.ApiResult != nil { + if err := s.ApiResult.Validate(); err != nil { + invalidParams.AddNested("ApiResult", err.(request.ErrInvalidParams)) + } + } + if s.FunctionResult != nil { + if err := s.FunctionResult.Validate(); err != nil { + invalidParams.AddNested("FunctionResult", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApiResult sets the ApiResult field's value. +func (s *InvocationResultMember) SetApiResult(v *ApiResult) *InvocationResultMember { + s.ApiResult = v + return s +} + +// SetFunctionResult sets the FunctionResult field's value. +func (s *InvocationResultMember) SetFunctionResult(v *FunctionResult) *InvocationResultMember { + s.FunctionResult = v + return s +} + type InvokeAgentInput struct { _ struct{} `type:"structure"` @@ -1605,9 +2248,7 @@ type InvokeAgentInput struct { // InputText is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by InvokeAgentInput's // String and GoString methods. - // - // InputText is a required field - InputText *string `locationName:"inputText" type:"string" required:"true" sensitive:"true"` + InputText *string `locationName:"inputText" type:"string" sensitive:"true"` // The unique identifier of the session. Use the same value across requests // to continue the same conversation. @@ -1653,15 +2294,17 @@ func (s *InvokeAgentInput) Validate() error { if s.AgentId != nil && len(*s.AgentId) < 1 { invalidParams.Add(request.NewErrParamMinLen("AgentId", 1)) } - if s.InputText == nil { - invalidParams.Add(request.NewErrParamRequired("InputText")) - } if s.SessionId == nil { invalidParams.Add(request.NewErrParamRequired("SessionId")) } if s.SessionId != nil && len(*s.SessionId) < 2 { invalidParams.Add(request.NewErrParamMinLen("SessionId", 2)) } + if s.SessionState != nil { + if err := s.SessionState.Validate(); err != nil { + invalidParams.AddNested("SessionState", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2501,7 +3144,7 @@ func (s *OrchestrationTrace) SetRationale(v *Rationale) *OrchestrationTrace { return s } -// A parameter in the Lambda input event. +// A parameter for the API request or function. type Parameter struct { _ struct{} `type:"structure"` @@ -2985,6 +3628,38 @@ func (s *PromptTemplate) SetTextPromptTemplate(v string) *PromptTemplate { return s } +// Contains the parameters in the request body. +type PropertyParameters struct { + _ struct{} `type:"structure"` + + // A list of parameters in the request body. + Properties []*Parameter `locationName:"properties" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PropertyParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PropertyParameters) GoString() string { + return s.String() +} + +// SetProperties sets the Properties field's value. +func (s *PropertyParameters) SetProperties(v []*Parameter) *PropertyParameters { + s.Properties = v + return s +} + // Contains the reasoning, based on the input, that the agent uses to justify // carrying out an action group or getting information from a knowledge base. type Rationale struct { @@ -3076,7 +3751,7 @@ func (s *RepromptResponse) SetText(v string) *RepromptResponse { return s } -// The parameters in the request body for the Lambda input event. +// The parameters in the API request body. type RequestBody struct { _ struct{} `type:"structure"` @@ -3108,8 +3783,8 @@ func (s *RequestBody) SetContent(v map[string][]*Parameter) *RequestBody { return s } -// The specified resource ARN was not found. Check the ARN and try your request -// again. +// The specified resource Amazon Resource Name (ARN) was not found. Check the +// Amazon Resource Name (ARN) and try your request again. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -3208,6 +3883,7 @@ func (s *ResourceNotFoundException) RequestID() string { // These events are: // // - PayloadPart +// - ReturnControlPayload // - TracePart type ResponseStreamEvent interface { eventResponseStream() @@ -3223,6 +3899,7 @@ type ResponseStreamEvent interface { // These events are: // // - PayloadPart +// - ReturnControlPayload // - TracePart // - ResponseStreamUnknownEvent type ResponseStreamReader interface { @@ -3322,6 +3999,8 @@ func (u unmarshalerForResponseStreamEvent) UnmarshalerForEventName(eventType str switch eventType { case "chunk": return &PayloadPart{}, nil + case "returnControl": + return &ReturnControlPayload{}, nil case "trace": return &TracePart{}, nil case "accessDeniedException": @@ -4181,6 +4860,83 @@ func (s *RetrievedReference) SetLocation(v *RetrievalResultLocation) *RetrievedR return s } +// Contains information to return from the action group that the agent has predicted +// to invoke. +// +// This data type is used in the following API operations: +// +// - Retrieve response (https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Retrieve.html#API_agent-runtime_Retrieve_ResponseSyntax) +type ReturnControlPayload struct { + _ struct{} `type:"structure" sensitive:"true"` + + // The identifier of the action group invocation. + InvocationId *string `locationName:"invocationId" type:"string"` + + // A list of objects that contain information about the parameters and inputs + // that need to be sent into the API operation or function, based on what the + // agent determines from its session with the user. + InvocationInputs []*InvocationInputMember `locationName:"invocationInputs" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReturnControlPayload) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReturnControlPayload) GoString() string { + return s.String() +} + +// SetInvocationId sets the InvocationId field's value. +func (s *ReturnControlPayload) SetInvocationId(v string) *ReturnControlPayload { + s.InvocationId = &v + return s +} + +// SetInvocationInputs sets the InvocationInputs field's value. +func (s *ReturnControlPayload) SetInvocationInputs(v []*InvocationInputMember) *ReturnControlPayload { + s.InvocationInputs = v + return s +} + +// The ReturnControlPayload is and event in the ResponseStream group of events. +func (s *ReturnControlPayload) eventResponseStream() {} + +// UnmarshalEvent unmarshals the EventStream Message into the ReturnControlPayload value. +// This method is only used internally within the SDK's EventStream handling. +func (s *ReturnControlPayload) UnmarshalEvent( + payloadUnmarshaler protocol.PayloadUnmarshaler, + msg eventstream.Message, +) error { + if err := payloadUnmarshaler.UnmarshalPayload( + bytes.NewReader(msg.Payload), s, + ); err != nil { + return err + } + return nil +} + +// MarshalEvent marshals the type into an stream event value. This method +// should only used internally within the SDK's EventStream handling. +func (s *ReturnControlPayload) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) { + msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType)) + var buf bytes.Buffer + if err = pm.MarshalPayload(&buf, s); err != nil { + return eventstream.Message{}, err + } + msg.Payload = buf.Bytes() + return msg, err +} + // The number of requests exceeds the service quota. Resubmit your request later. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` @@ -4284,12 +5040,18 @@ func (s *ServiceQuotaExceededException) RequestID() string { type SessionState struct { _ struct{} `type:"structure"` + // The identifier of the invocation. + InvocationId *string `locationName:"invocationId" type:"string"` + // Contains attributes that persist across a prompt and the values of those // attributes. These attributes replace the $prompt_session_attributes$ placeholder // variable in the orchestration prompt template. For more information, see // Prompt template placeholder variables (https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html). PromptSessionAttributes map[string]*string `locationName:"promptSessionAttributes" type:"map"` + // Contains information about the results from the action group invocation. + ReturnControlInvocationResults []*InvocationResultMember `locationName:"returnControlInvocationResults" min:"1" type:"list"` + // Contains attributes that persist across a session and the values of those // attributes. SessionAttributes map[string]*string `locationName:"sessionAttributes" type:"map"` @@ -4313,12 +5075,47 @@ func (s SessionState) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *SessionState) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SessionState"} + if s.ReturnControlInvocationResults != nil && len(s.ReturnControlInvocationResults) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ReturnControlInvocationResults", 1)) + } + if s.ReturnControlInvocationResults != nil { + for i, v := range s.ReturnControlInvocationResults { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReturnControlInvocationResults", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInvocationId sets the InvocationId field's value. +func (s *SessionState) SetInvocationId(v string) *SessionState { + s.InvocationId = &v + return s +} + // SetPromptSessionAttributes sets the PromptSessionAttributes field's value. func (s *SessionState) SetPromptSessionAttributes(v map[string]*string) *SessionState { s.PromptSessionAttributes = v return s } +// SetReturnControlInvocationResults sets the ReturnControlInvocationResults field's value. +func (s *SessionState) SetReturnControlInvocationResults(v []*InvocationResultMember) *SessionState { + s.ReturnControlInvocationResults = v + return s +} + // SetSessionAttributes sets the SessionAttributes field's value. func (s *SessionState) SetSessionAttributes(v map[string]*string) *SessionState { s.SessionAttributes = v @@ -4613,6 +5410,9 @@ type TracePart struct { // The unique identifier of the agent. AgentId *string `locationName:"agentId" type:"string"` + // The version of the agent. + AgentVersion *string `locationName:"agentVersion" min:"1" type:"string"` + // The unique identifier of the session with the agent. SessionId *string `locationName:"sessionId" min:"2" type:"string"` @@ -4657,6 +5457,12 @@ func (s *TracePart) SetAgentId(v string) *TracePart { return s } +// SetAgentVersion sets the AgentVersion field's value. +func (s *TracePart) SetAgentVersion(v string) *TracePart { + s.AgentVersion = &v + return s +} + // SetSessionId sets the SessionId field's value. func (s *TracePart) SetSessionId(v string) *TracePart { s.SessionId = &v @@ -4851,6 +5657,22 @@ func PromptType_Values() []string { } } +const ( + // ResponseStateFailure is a ResponseState enum value + ResponseStateFailure = "FAILURE" + + // ResponseStateReprompt is a ResponseState enum value + ResponseStateReprompt = "REPROMPT" +) + +// ResponseState_Values returns all elements of the ResponseState enum +func ResponseState_Values() []string { + return []string{ + ResponseStateFailure, + ResponseStateReprompt, + } +} + const ( // RetrievalResultLocationTypeS3 is a RetrievalResultLocationType enum value RetrievalResultLocationTypeS3 = "S3" diff --git a/service/bedrockagentruntime/errors.go b/service/bedrockagentruntime/errors.go index 643d10b0f50..392c8d45b7d 100644 --- a/service/bedrockagentruntime/errors.go +++ b/service/bedrockagentruntime/errors.go @@ -44,8 +44,8 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // The specified resource ARN was not found. Check the ARN and try your request - // again. + // The specified resource Amazon Resource Name (ARN) was not found. Check the + // Amazon Resource Name (ARN) and try your request again. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeServiceQuotaExceededException for service response error code diff --git a/service/bedrockagentruntime/eventstream_test.go b/service/bedrockagentruntime/eventstream_test.go index b7e7235b21f..6fed9466a2d 100644 --- a/service/bedrockagentruntime/eventstream_test.go +++ b/service/bedrockagentruntime/eventstream_test.go @@ -368,9 +368,333 @@ func mockInvokeAgentReadEvents() ( }, Bytes: []byte("blob value goes here"), }, + &ReturnControlPayload{ + InvocationId: aws.String("string value goes here"), + InvocationInputs: []*InvocationInputMember{ + { + ApiInvocationInput: &ApiInvocationInput_{ + ActionGroup: aws.String("string value goes here"), + ApiPath: aws.String("string value goes here"), + HttpMethod: aws.String("string value goes here"), + Parameters: []*ApiParameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + RequestBody: &ApiRequestBody{ + Content: map[string]*PropertyParameters{ + "a": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + "b": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + "c": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + }, + }, + }, + FunctionInvocationInput: &FunctionInvocationInput_{ + ActionGroup: aws.String("string value goes here"), + Function: aws.String("string value goes here"), + Parameters: []*FunctionParameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + }, + { + ApiInvocationInput: &ApiInvocationInput_{ + ActionGroup: aws.String("string value goes here"), + ApiPath: aws.String("string value goes here"), + HttpMethod: aws.String("string value goes here"), + Parameters: []*ApiParameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + RequestBody: &ApiRequestBody{ + Content: map[string]*PropertyParameters{ + "a": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + "b": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + "c": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + }, + }, + }, + FunctionInvocationInput: &FunctionInvocationInput_{ + ActionGroup: aws.String("string value goes here"), + Function: aws.String("string value goes here"), + Parameters: []*FunctionParameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + }, + { + ApiInvocationInput: &ApiInvocationInput_{ + ActionGroup: aws.String("string value goes here"), + ApiPath: aws.String("string value goes here"), + HttpMethod: aws.String("string value goes here"), + Parameters: []*ApiParameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + RequestBody: &ApiRequestBody{ + Content: map[string]*PropertyParameters{ + "a": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + "b": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + "c": { + Properties: []*Parameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + }, + }, + }, + FunctionInvocationInput: &FunctionInvocationInput_{ + ActionGroup: aws.String("string value goes here"), + Function: aws.String("string value goes here"), + Parameters: []*FunctionParameter{ + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + { + Name: aws.String("string value goes here"), + Type: aws.String("string value goes here"), + Value: aws.String("string value goes here"), + }, + }, + }, + }, + }, + }, &TracePart{ AgentAliasId: aws.String("string value goes here"), AgentId: aws.String("string value goes here"), + AgentVersion: aws.String("string value goes here"), SessionId: aws.String("string value goes here"), Trace: &Trace{ FailureTrace: &FailureTrace{ @@ -382,6 +706,7 @@ func mockInvokeAgentReadEvents() ( ActionGroupInvocationInput: &ActionGroupInvocationInput_{ ActionGroupName: aws.String("string value goes here"), ApiPath: aws.String("string value goes here"), + Function: aws.String("string value goes here"), Parameters: []*Parameter{ { Name: aws.String("string value goes here"), @@ -620,11 +945,21 @@ func mockInvokeAgentReadEvents() ( eventstreamtest.EventMessageTypeHeader, { Name: eventstreamapi.EventTypeHeader, - Value: eventstream.StringValue("trace"), + Value: eventstream.StringValue("returnControl"), }, }, Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[1]), }, + { + Headers: eventstream.Headers{ + eventstreamtest.EventMessageTypeHeader, + { + Name: eventstreamapi.EventTypeHeader, + Value: eventstream.StringValue("trace"), + }, + }, + Payload: eventstreamtest.MarshalEventPayload(payloadMarshaler, expectEvents[2]), + }, } return expectEvents, eventMsgs diff --git a/service/paymentcryptography/api.go b/service/paymentcryptography/api.go index 48bb579be67..285eabfa1fd 100644 --- a/service/paymentcryptography/api.go +++ b/service/paymentcryptography/api.go @@ -68,22 +68,23 @@ func (c *PaymentCryptography) CreateAliasRequest(input *CreateAliasInput) (req * // create another alias with the same name in a different Amazon Web Services // Region. // -// To change the key that's associated with the alias, call UpdateAlias. To -// delete the alias, call DeleteAlias. These operations don't affect the underlying -// key. To get the alias that you created, call ListAliases. +// To change the key that's associated with the alias, call UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html). +// To delete the alias, call DeleteAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteAlias.html). +// These operations don't affect the underlying key. To get the alias that you +// created, call ListAliases (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListAliases.html). // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - DeleteAlias +// - DeleteAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteAlias.html) // -// - GetAlias +// - GetAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetAlias.html) // -// - ListAliases +// - ListAliases (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListAliases.html) // -// - UpdateAlias +// - UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -213,11 +214,11 @@ func (c *PaymentCryptography) CreateKeyRequest(input *CreateKeyInput) (req *requ // // Related operations: // -// - DeleteKey +// - DeleteKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteKey.html) // -// - GetKey +// - GetKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetKey.html) // -// - ListKeys +// - ListKeys (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListKeys.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -322,22 +323,24 @@ func (c *PaymentCryptography) DeleteAliasRequest(input *DeleteAliasInput) (req * // Deletes the alias, but doesn't affect the underlying key. // // Each key can have multiple aliases. To get the aliases of all keys, use the -// ListAliases operation. To change the alias of a key, first use DeleteAlias -// to delete the current alias and then use CreateAlias to create a new alias. -// To associate an existing alias with a different key, call UpdateAlias. +// UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html) +// operation. To change the alias of a key, first use DeleteAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteAlias.html) +// to delete the current alias and then use CreateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateAlias.html) +// to create a new alias. To associate an existing alias with a different key, +// call UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html). // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - CreateAlias +// - CreateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateAlias.html) // -// - GetAlias +// - GetAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetAlias.html) // -// - ListAliases +// - ListAliases (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListAliases.html) // -// - UpdateAlias +// - UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -451,18 +454,18 @@ func (c *PaymentCryptography) DeleteKeyRequest(input *DeleteKeyInput) (req *requ // // You should delete a key only when you are sure that you don't need to use // it anymore and no other parties are utilizing this key. If you aren't sure, -// consider deactivating it instead by calling StopKeyUsage. +// consider deactivating it instead by calling StopKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StopKeyUsage.html). // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - RestoreKey +// - RestoreKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_RestoreKey.html) // -// - StartKeyUsage +// - StartKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StartKeyUsage.html) // -// - StopKeyUsage +// - StopKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StopKeyUsage.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -594,6 +597,22 @@ func (c *PaymentCryptography) ExportKeyRequest(input *ExportKeyInput) (req *requ // IPEK does not persist within Amazon Web Services Payment Cryptography and // has to be re-generated each time during export. // +// For key exchange using TR-31 or TR-34 key blocks, you can also export optional +// blocks within the key block header which contain additional attribute information +// about the key. The KeyVersion within KeyBlockHeaders indicates the version +// of the key within the key block. Furthermore, KeyExportability within KeyBlockHeaders +// can be used to further restrict exportability of the key after export from +// Amazon Web Services Payment Cryptography. +// +// The OptionalBlocks contain the additional data related to the key. For information +// on data type that can be included within optional blocks, refer to ASC X9.143-2022 +// (https://webstore.ansi.org/standards/ascx9/ansix91432022). +// +// Data included in key block headers is signed but transmitted in clear text. +// Sensitive or confidential information should not be included in optional +// blocks. Refer to ASC X9.143-2022 standard for information on allowed data +// type. +// // # To export initial keys (KEK) or IPEK using TR-34 // // Using this operation, you can export initial key using TR-34 asymmetric key @@ -605,23 +624,24 @@ func (c *PaymentCryptography) ExportKeyRequest(input *ExportKeyInput) (req *requ // receiving the key. // // To initiate TR-34 key export, the KRD must obtain an export token by calling -// GetParametersForExport. This operation also generates a key pair for the -// purpose of key export, signs the key and returns back the signing public -// key certificate (also known as KDH signing certificate) and root certificate -// chain. The KDH uses the private key to sign the the export payload and the -// signing public key certificate is provided to KRD to verify the signature. -// The KRD can import the root certificate into its Hardware Security Module -// (HSM), as required. The export token and the associated KDH signing certificate -// expires after 7 days. +// GetParametersForExport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html). +// This operation also generates a key pair for the purpose of key export, signs +// the key and returns back the signing public key certificate (also known as +// KDH signing certificate) and root certificate chain. The KDH uses the private +// key to sign the the export payload and the signing public key certificate +// is provided to KRD to verify the signature. The KRD can import the root certificate +// into its Hardware Security Module (HSM), as required. The export token and +// the associated KDH signing certificate expires after 7 days. // // Next the KRD generates a key pair for the the purpose of encrypting the KDH // key and provides the public key cerificate (also known as KRD wrapping certificate) // back to KDH. The KRD will also import the root cerificate chain into Amazon -// Web Services Payment Cryptography by calling ImportKey for RootCertificatePublicKey. -// The KDH, Amazon Web Services Payment Cryptography, will use the KRD wrapping -// cerificate to encrypt (wrap) the key under export and signs it with signing -// private key to generate a TR-34 WrappedKeyBlock. For more information on -// TR-34 key export, see section Exporting symmetric keys (https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-export.html) +// Web Services Payment Cryptography by calling ImportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html) +// for RootCertificatePublicKey. The KDH, Amazon Web Services Payment Cryptography, +// will use the KRD wrapping cerificate to encrypt (wrap) the key under export +// and signs it with signing private key to generate a TR-34 WrappedKeyBlock. +// For more information on TR-34 key export, see section Exporting symmetric +// keys (https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-export.html) // in the Amazon Web Services Payment Cryptography User Guide. // // Set the following parameters: @@ -637,7 +657,7 @@ func (c *PaymentCryptography) ExportKeyRequest(input *ExportKeyInput) (req *requ // - CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate // chain that signed the KRD wrapping key certificate. // -// - ExportToken: Obtained from KDH by calling GetParametersForImport. +// - ExportToken: Obtained from KDH by calling GetParametersForImport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html). // // - WrappingKeyCertificate: The public key certificate in PEM format (base64 // encoded) of the KRD wrapping key Amazon Web Services Payment Cryptography @@ -655,7 +675,8 @@ func (c *PaymentCryptography) ExportKeyRequest(input *ExportKeyInput) (req *requ // key pair on the receiving HSM and obtain the public key certificate in PEM // format (base64 encoded) for the purpose of wrapping and the root certifiate // chain. Import the root certificate into Amazon Web Services Payment Cryptography -// by calling ImportKey for RootCertificatePublicKey. +// by calling ImportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html) +// for RootCertificatePublicKey. // // Next call ExportKey and set the following parameters: // @@ -677,8 +698,8 @@ func (c *PaymentCryptography) ExportKeyRequest(input *ExportKeyInput) (req *requ // // Using this operation, you can export working keys or IPEK using TR-31 symmetric // key exchange. In TR-31, you must use an initial key such as KEK to encrypt -// or wrap the key under export. To establish a KEK, you can use CreateKey or -// ImportKey. +// or wrap the key under export. To establish a KEK, you can use CreateKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html) +// or ImportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html). // // Set the following parameters: // @@ -698,9 +719,9 @@ func (c *PaymentCryptography) ExportKeyRequest(input *ExportKeyInput) (req *requ // // Related operations: // -// - GetParametersForExport +// - GetParametersForExport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html) // -// - ImportKey +// - ImportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -806,13 +827,13 @@ func (c *PaymentCryptography) GetAliasRequest(input *GetAliasInput) (req *reques // // Related operations: // -// - CreateAlias +// - CreateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateAlias.html) // -// - DeleteAlias +// - DeleteAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteAlias.html) // -// - ListAliases +// - ListAliases (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListAliases.html) // -// - UpdateAlias +// - UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -915,11 +936,11 @@ func (c *PaymentCryptography) GetKeyRequest(input *GetKeyInput) (req *request.Re // // Related operations: // -// - CreateKey +// - CreateKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html) // -// - DeleteKey +// - DeleteKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteKey.html) // -// - ListKeys +// - ListKeys (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListKeys.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1019,18 +1040,18 @@ func (c *PaymentCryptography) GetParametersForExportRequest(input *GetParameters // // The signing key certificate signs the wrapped key under export within the // TR-34 key payload. The export token and signing key certificate must be in -// place and operational before calling ExportKey. The export token expires -// in 7 days. You can use the same export token to export multiple keys from -// your service account. +// place and operational before calling ExportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ExportKey.html). +// The export token expires in 7 days. You can use the same export token to +// export multiple keys from your service account. // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - ExportKey +// - ExportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ExportKey.html) // -// - GetParametersForImport +// - GetParametersForImport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1137,17 +1158,18 @@ func (c *PaymentCryptography) GetParametersForImportRequest(input *GetParameters // // The wrapping key certificate wraps the key under import. The import token // and wrapping key certificate must be in place and operational before calling -// ImportKey. The import token expires in 7 days. You can use the same import -// token to import multiple keys into your service account. +// ImportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html). +// The import token expires in 7 days. You can use the same import token to +// import multiple keys into your service account. // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - GetParametersForExport +// - GetParametersForExport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html) // -// - ImportKey +// - ImportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ImportKey.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1434,13 +1456,13 @@ func (c *PaymentCryptography) ImportKeyRequest(input *ImportKeyInput) (req *requ // who receives the key. // // To initiate TR-34 key import, the KDH must obtain an import token by calling -// GetParametersForImport. This operation generates an encryption keypair for -// the purpose of key import, signs the key and returns back the wrapping key -// certificate (also known as KRD wrapping certificate) and the root certificate -// chain. The KDH must trust and install the KRD wrapping certificate on its -// HSM and use it to encrypt (wrap) the KDH key during TR-34 WrappedKeyBlock -// generation. The import token and associated KRD wrapping certificate expires -// after 7 days. +// GetParametersForImport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html). +// This operation generates an encryption keypair for the purpose of key import, +// signs the key and returns back the wrapping key certificate (also known as +// KRD wrapping certificate) and the root certificate chain. The KDH must trust +// and install the KRD wrapping certificate on its HSM and use it to encrypt +// (wrap) the KDH key during TR-34 WrappedKeyBlock generation. The import token +// and associated KRD wrapping certificate expires after 7 days. // // Next the KDH generates a key pair for the purpose of signing the encrypted // KDH key and provides the public certificate of the signing key to Amazon @@ -1457,7 +1479,7 @@ func (c *PaymentCryptography) ImportKeyRequest(input *ImportKeyInput) (req *requ // - CertificateAuthorityPublicKeyIdentifier: The KeyARN of the certificate // chain that signed the KDH signing key certificate. // -// - ImportToken: Obtained from KRD by calling GetParametersForImport. +// - ImportToken: Obtained from KRD by calling GetParametersForImport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html). // // - WrappedKeyBlock: The TR-34 wrapped key material from KDH. It contains // the KDH key under import, wrapped with KRD wrapping certificate and signed @@ -1473,6 +1495,7 @@ func (c *PaymentCryptography) ImportKeyRequest(input *ImportKeyInput) (req *requ // // Using this operation, you can import initial key using asymmetric RSA wrap // and unwrap key exchange method. To initiate import, call GetParametersForImport +// (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html) // with KeyMaterial set to KEY_CRYPTOGRAM to generate an import token. This // operation also generates an encryption keypair for the purpose of key import, // signs the key and returns back the wrapping key certificate in PEM format @@ -1488,7 +1511,8 @@ func (c *PaymentCryptography) ImportKeyRequest(input *ImportKeyInput) (req *requ // // Amazon Web Services Payment Cryptography uses TR-31 symmetric key exchange // norm to import working keys. A KEK must be established within Amazon Web -// Services Payment Cryptography by using TR-34 key import or by using CreateKey. +// Services Payment Cryptography by using TR-34 key import or by using CreateKey +// (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html). // To initiate a TR-31 key import, set the following parameters: // // - KeyMaterial: Use Tr31KeyBlock parameters. @@ -1505,9 +1529,9 @@ func (c *PaymentCryptography) ImportKeyRequest(input *ImportKeyInput) (req *requ // // Related operations: // -// - ExportKey +// - ExportKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ExportKey.html) // -// - GetParametersForImport +// - GetParametersForImport (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForImport.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1631,13 +1655,13 @@ func (c *PaymentCryptography) ListAliasesRequest(input *ListAliasesInput) (req * // // Related operations: // -// - CreateAlias +// - CreateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateAlias.html) // -// - DeleteAlias +// - DeleteAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteAlias.html) // -// - GetAlias +// - GetAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetAlias.html) // -// - UpdateAlias +// - UpdateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UpdateAlias.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1803,11 +1827,11 @@ func (c *PaymentCryptography) ListKeysRequest(input *ListKeysInput) (req *reques // // Related operations: // -// - CreateKey +// - CreateKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html) // -// - DeleteKey +// - DeleteKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteKey.html) // -// - GetKey +// - GetKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetKey.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1972,9 +1996,9 @@ func (c *PaymentCryptography) ListTagsForResourceRequest(input *ListTagsForResou // // Related operations: // -// - TagResource +// - TagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html) // -// - UntagResource +// - UntagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UntagResource.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2133,11 +2157,11 @@ func (c *PaymentCryptography) RestoreKeyRequest(input *RestoreKeyInput) (req *re // // Related operations: // -// - DeleteKey +// - DeleteKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteKey.html) // -// - StartKeyUsage +// - StartKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StartKeyUsage.html) // -// - StopKeyUsage +// - StopKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StopKeyUsage.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2246,7 +2270,7 @@ func (c *PaymentCryptography) StartKeyUsageRequest(input *StartKeyUsageInput) (r // // Related operations: // -// - StopKeyUsage +// - StopKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StopKeyUsage.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2350,17 +2374,18 @@ func (c *PaymentCryptography) StopKeyUsageRequest(input *StopKeyUsageInput) (req // Disables an Amazon Web Services Payment Cryptography key, which makes it // inactive within Amazon Web Services Payment Cryptography. // -// You can use this operation instead of DeleteKey to deactivate a key. You -// can enable the key in the future by calling StartKeyUsage. +// You can use this operation instead of DeleteKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteKey.html) +// to deactivate a key. You can enable the key in the future by calling StartKeyUsage +// (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StartKeyUsage.html). // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - DeleteKey +// - DeleteKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteKey.html) // -// - StartKeyUsage +// - StartKeyUsage (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_StartKeyUsage.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2471,16 +2496,16 @@ func (c *PaymentCryptography) TagResourceRequest(input *TagResourceInput) (req * // strings. The tag value can be an empty (null) string. To add a tag, specify // a new tag key and a tag value. To edit a tag, specify an existing tag key // and a new tag value. You can also add tags to an Amazon Web Services Payment -// Cryptography key when you create it with CreateKey. +// Cryptography key when you create it with CreateKey (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateKey.html). // // Cross-account use: This operation can't be used across different Amazon Web // Services accounts. // // Related operations: // -// - ListTagsForResource +// - ListTagsForResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListTagsForResource.html) // -// - UntagResource +// - UntagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_UntagResource.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2592,9 +2617,9 @@ func (c *PaymentCryptography) UntagResourceRequest(input *UntagResourceInput) (r // // Related operations: // -// - ListTagsForResource +// - ListTagsForResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListTagsForResource.html) // -// - TagResource +// - TagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2703,13 +2728,13 @@ func (c *PaymentCryptography) UpdateAliasRequest(input *UpdateAliasInput) (req * // // Related operations: // -// - CreateAlias +// - CreateAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_CreateAlias.html) // -// - DeleteAlias +// - DeleteAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteAlias.html) // -// - GetAlias +// - GetAlias (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetAlias.html) // -// - ListAliases +// - ListAliases (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListAliases.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3070,7 +3095,8 @@ type CreateKeyInput struct { // Assigns one or more tags to the Amazon Web Services Payment Cryptography // key. Use this parameter to tag a key when it is created. To tag an existing - // Amazon Web Services Payment Cryptography key, use the TagResource operation. + // Amazon Web Services Payment Cryptography key, use the TagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html) + // operation. // // Each tag consists of a tag key and a tag value. Both the tag key and the // tag value are required, but the tag value can be an empty (null) string. @@ -3762,6 +3788,10 @@ func (s *ExportKeyOutput) SetWrappedKey(v *WrappedKey) *ExportKeyOutput { type ExportTr31KeyBlock struct { _ struct{} `type:"structure"` + // Optional metadata for export associated with the key material. This data + // is signed but transmitted in clear text. + KeyBlockHeaders *KeyBlockHeaders `type:"structure"` + // The KeyARN of the the wrapping key. This key encrypts or wraps the key under // export for TR-31 key block generation. // @@ -3796,6 +3826,11 @@ func (s *ExportTr31KeyBlock) Validate() error { if s.WrappingKeyIdentifier != nil && len(*s.WrappingKeyIdentifier) < 7 { invalidParams.Add(request.NewErrParamMinLen("WrappingKeyIdentifier", 7)) } + if s.KeyBlockHeaders != nil { + if err := s.KeyBlockHeaders.Validate(); err != nil { + invalidParams.AddNested("KeyBlockHeaders", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3803,6 +3838,12 @@ func (s *ExportTr31KeyBlock) Validate() error { return nil } +// SetKeyBlockHeaders sets the KeyBlockHeaders field's value. +func (s *ExportTr31KeyBlock) SetKeyBlockHeaders(v *KeyBlockHeaders) *ExportTr31KeyBlock { + s.KeyBlockHeaders = v + return s +} + // SetWrappingKeyIdentifier sets the WrappingKeyIdentifier field's value. func (s *ExportTr31KeyBlock) SetWrappingKeyIdentifier(v string) *ExportTr31KeyBlock { s.WrappingKeyIdentifier = &v @@ -3823,6 +3864,7 @@ type ExportTr34KeyBlock struct { // The export token to initiate key export from Amazon Web Services Payment // Cryptography. It also contains the signing key certificate that will sign // the wrapped key during TR-34 key block generation. Call GetParametersForExport + // (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetParametersForExport.html) // to receive an export token. It expires after 7 days. You can use the same // export token to export multiple keys from the same service account. // @@ -3835,6 +3877,10 @@ type ExportTr34KeyBlock struct { // KeyBlockFormat is a required field KeyBlockFormat *string `type:"string" required:"true" enum:"Tr34KeyBlockFormat"` + // Optional metadata for export associated with the key material. This data + // is signed but transmitted in clear text. + KeyBlockHeaders *KeyBlockHeaders `type:"structure"` + // A random number value that is unique to the TR-34 key block generated using // 2 pass. The operation will fail, if a random nonce value is not provided // for a TR-34 key block generated using 2 pass. @@ -3893,6 +3939,11 @@ func (s *ExportTr34KeyBlock) Validate() error { if s.WrappingKeyCertificate != nil && len(*s.WrappingKeyCertificate) < 1 { invalidParams.Add(request.NewErrParamMinLen("WrappingKeyCertificate", 1)) } + if s.KeyBlockHeaders != nil { + if err := s.KeyBlockHeaders.Validate(); err != nil { + invalidParams.AddNested("KeyBlockHeaders", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3918,6 +3969,12 @@ func (s *ExportTr34KeyBlock) SetKeyBlockFormat(v string) *ExportTr34KeyBlock { return s } +// SetKeyBlockHeaders sets the KeyBlockHeaders field's value. +func (s *ExportTr34KeyBlock) SetKeyBlockHeaders(v *KeyBlockHeaders) *ExportTr34KeyBlock { + s.KeyBlockHeaders = v + return s +} + // SetRandomNonce sets the RandomNonce field's value. func (s *ExportTr34KeyBlock) SetRandomNonce(v string) *ExportTr34KeyBlock { s.RandomNonce = &v @@ -4647,7 +4704,8 @@ type ImportKeyInput struct { // Assigns one or more tags to the Amazon Web Services Payment Cryptography // key. Use this parameter to tag a key when it is imported. To tag an existing - // Amazon Web Services Payment Cryptography key, use the TagResource operation. + // Amazon Web Services Payment Cryptography key, use the TagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html) + // operation. // // Each tag consists of a tag key and a tag value. Both the tag key and the // tag value are required, but the tag value can be an empty (null) string. @@ -5421,6 +5479,97 @@ func (s *KeyAttributes) SetKeyUsage(v string) *KeyAttributes { return s } +// Optional metadata for export associated with the key material. This data +// is signed but transmitted in clear text. +type KeyBlockHeaders struct { + _ struct{} `type:"structure"` + + // Specifies subsequent exportability of the key within the key block after + // it is received by the receiving party. It can be used to further restrict + // exportability of the key after export from Amazon Web Services Payment Cryptography. + // + // When set to EXPORTABLE, the key can be subsequently exported by the receiver + // under a KEK using TR-31 or TR-34 key block export only. When set to NON_EXPORTABLE, + // the key cannot be subsequently exported by the receiver. When set to SENSITIVE, + // the key can be exported by the receiver under a KEK using TR-31, TR-34, RSA + // wrap and unwrap cryptogram or using a symmetric cryptogram key export method. + // For further information refer to ANSI X9.143-2022 (https://webstore.ansi.org/standards/ascx9/ansix91432022). + KeyExportability *string `type:"string" enum:"KeyExportability"` + + // The list of cryptographic operations that you can perform using the key. + // The modes of use are defined in section A.5.3 of the TR-31 spec. + KeyModesOfUse *KeyModesOfUse `type:"structure"` + + // Parameter used to indicate the version of the key carried in the key block + // or indicate the value carried in the key block is a component of a key. + KeyVersion *string `min:"2" type:"string"` + + // Parameter used to indicate the type of optional data in key block headers. + // Refer to ANSI X9.143-2022 (https://webstore.ansi.org/standards/ascx9/ansix91432022) + // for information on allowed data type for optional blocks. + // + // Optional block character limit is 112 characters. For each optional block, + // 2 characters are reserved for optional block ID and 2 characters reserved + // for optional block length. More than one optional blocks can be included + // as long as the combined length does not increase 112 characters. + OptionalBlocks map[string]*string `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyBlockHeaders) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s KeyBlockHeaders) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KeyBlockHeaders) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KeyBlockHeaders"} + if s.KeyVersion != nil && len(*s.KeyVersion) < 2 { + invalidParams.Add(request.NewErrParamMinLen("KeyVersion", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyExportability sets the KeyExportability field's value. +func (s *KeyBlockHeaders) SetKeyExportability(v string) *KeyBlockHeaders { + s.KeyExportability = &v + return s +} + +// SetKeyModesOfUse sets the KeyModesOfUse field's value. +func (s *KeyBlockHeaders) SetKeyModesOfUse(v *KeyModesOfUse) *KeyBlockHeaders { + s.KeyModesOfUse = v + return s +} + +// SetKeyVersion sets the KeyVersion field's value. +func (s *KeyBlockHeaders) SetKeyVersion(v string) *KeyBlockHeaders { + s.KeyVersion = &v + return s +} + +// SetOptionalBlocks sets the OptionalBlocks field's value. +func (s *KeyBlockHeaders) SetOptionalBlocks(v map[string]*string) *KeyBlockHeaders { + s.OptionalBlocks = v + return s +} + // The list of cryptographic operations that you can perform using the key. // The modes of use are defined in section A.5.3 of the TR-31 spec. type KeyModesOfUse struct { @@ -6568,7 +6717,8 @@ type TagResourceInput struct { // Don't include personal, confidential or sensitive information in this field. // This field may be displayed in plaintext in CloudTrail logs and other output. // - // To use this parameter, you must have TagResource permission in an IAM policy. + // To use this parameter, you must have TagResource (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_TagResource.html) + // permission in an IAM policy. // // Don't include personal, confidential or sensitive information in this field. // This field may be displayed in plaintext in CloudTrail logs and other output. @@ -6828,6 +6978,7 @@ type UntagResourceInput struct { // If the Amazon Web Services Payment Cryptography key doesn't have the specified // tag key, Amazon Web Services Payment Cryptography doesn't throw an exception // or return a response. To confirm that the operation succeeded, use the ListTagsForResource + // (https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_ListTagsForResource.html) // operation. // // TagKeys is a required field @@ -7230,6 +7381,26 @@ func KeyClass_Values() []string { } } +const ( + // KeyExportabilityExportable is a KeyExportability enum value + KeyExportabilityExportable = "EXPORTABLE" + + // KeyExportabilityNonExportable is a KeyExportability enum value + KeyExportabilityNonExportable = "NON_EXPORTABLE" + + // KeyExportabilitySensitive is a KeyExportability enum value + KeyExportabilitySensitive = "SENSITIVE" +) + +// KeyExportability_Values returns all elements of the KeyExportability enum +func KeyExportability_Values() []string { + return []string{ + KeyExportabilityExportable, + KeyExportabilityNonExportable, + KeyExportabilitySensitive, + } +} + const ( // KeyMaterialTypeTr34KeyBlock is a KeyMaterialType enum value KeyMaterialTypeTr34KeyBlock = "TR34_KEY_BLOCK" diff --git a/service/redshiftserverless/api.go b/service/redshiftserverless/api.go index 793e687ade5..b351bcf016e 100644 --- a/service/redshiftserverless/api.go +++ b/service/redshiftserverless/api.go @@ -6412,15 +6412,16 @@ type CreateScheduledActionInput struct { // RoleArn is a required field RoleArn *string `locationName:"roleArn" type:"string" required:"true"` - // The schedule for a one-time (at format) or recurring (cron format) scheduled - // action. Schedule invocations must be separated by at least one hour. + // The schedule for a one-time (at timestamp format) or recurring (cron format) + // scheduled action. Schedule invocations must be separated by at least one + // hour. Times are in UTC. // - // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // * Format of at timestamp is yyyy-mm-ddThh:mm:ss. For example, 2016-03-04T17:27:00. // - // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week - // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron - // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) - // in the Amazon CloudWatch Events User Guide. + // * Format of cron expression is (Minutes Hours Day-of-month Month Day-of-week + // Year). For example, "(0 10 ? * MON *)". For more information, see Cron + // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. // // Schedule is a required field Schedule *Schedule `locationName:"schedule" type:"structure" required:"true"` @@ -11795,16 +11796,16 @@ type Schedule struct { _ struct{} `type:"structure"` // The timestamp of when Amazon Redshift Serverless should run the scheduled - // action. Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, - // "at(2016-03-04T17:27:00)". + // action. Timestamp is in UTC. Format of at expression is yyyy-mm-ddThh:mm:ss. + // For example, 2016-03-04T17:27:00. At *time.Time `locationName:"at" type:"timestamp"` // The cron expression to use to schedule a recurring scheduled action. Schedule - // invocations must be separated by at least one hour. + // invocations must be separated by at least one hour. Times are in UTC. // - // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week - // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron - // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // Format of cron expressions is (Minutes Hours Day-of-month Month Day-of-week + // Year). For example, "(0 10 ? * MON *)". For more information, see Cron Expressions + // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) // in the Amazon CloudWatch Events User Guide. Cron *string `locationName:"cron" type:"string"` } @@ -11863,15 +11864,16 @@ type ScheduledActionResponse struct { // in the Amazon Redshift Cluster Management Guide RoleArn *string `locationName:"roleArn" type:"string"` - // The schedule for a one-time (at format) or recurring (cron format) scheduled - // action. Schedule invocations must be separated by at least one hour. + // The schedule for a one-time (at timestamp format) or recurring (cron format) + // scheduled action. Schedule invocations must be separated by at least one + // hour. Times are in UTC. // - // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // * Format of at timestamp is yyyy-mm-ddThh:mm:ss. For example, 2016-03-04T17:27:00. // - // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week - // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron - // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) - // in the Amazon CloudWatch Events User Guide. + // * Format of cron expression is (Minutes Hours Day-of-month Month Day-of-week + // Year). For example, "(0 10 ? * MON *)". For more information, see Cron + // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. Schedule *Schedule `locationName:"schedule" type:"structure"` // The description of the scheduled action. @@ -13377,15 +13379,16 @@ type UpdateScheduledActionInput struct { // in the Amazon Redshift Cluster Management Guide RoleArn *string `locationName:"roleArn" type:"string"` - // The schedule for a one-time (at format) or recurring (cron format) scheduled - // action. Schedule invocations must be separated by at least one hour. + // The schedule for a one-time (at timestamp format) or recurring (cron format) + // scheduled action. Schedule invocations must be separated by at least one + // hour. Times are in UTC. // - // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". + // * Format of at timestamp is yyyy-mm-ddThh:mm:ss. For example, 2016-03-04T17:27:00. // - // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week - // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron - // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) - // in the Amazon CloudWatch Events User Guide. + // * Format of cron expression is (Minutes Hours Day-of-month Month Day-of-week + // Year). For example, "(0 10 ? * MON *)". For more information, see Cron + // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. Schedule *Schedule `locationName:"schedule" type:"structure"` // The descripion of the scheduled action to update to. diff --git a/service/route53profiles/api.go b/service/route53profiles/api.go new file mode 100644 index 00000000000..91722c1f658 --- /dev/null +++ b/service/route53profiles/api.go @@ -0,0 +1,4487 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package route53profiles + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAssociateProfile = "AssociateProfile" + +// AssociateProfileRequest generates a "aws/request.Request" representing the +// client's request for the AssociateProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateProfile for more information on using the AssociateProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateProfileRequest method. +// req, resp := client.AssociateProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/AssociateProfile +func (c *Route53Profiles) AssociateProfileRequest(input *AssociateProfileInput) (req *request.Request, output *AssociateProfileOutput) { + op := &request.Operation{ + Name: opAssociateProfile, + HTTPMethod: "POST", + HTTPPath: "/profileassociation", + } + + if input == nil { + input = &AssociateProfileInput{} + } + + output = &AssociateProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateProfile API operation for Route 53 Profiles. +// +// Associates a Route 53 Profiles profile with a VPC. A VPC can have only one +// Profile associated with it, but a Profile can be associated with up to 5000 +// VPCs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation AssociateProfile for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ResourceExistsException +// The resource you are trying to associate, has already been associated. +// +// - LimitExceededException +// The request caused one or more limits to be exceeded. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/AssociateProfile +func (c *Route53Profiles) AssociateProfile(input *AssociateProfileInput) (*AssociateProfileOutput, error) { + req, out := c.AssociateProfileRequest(input) + return out, req.Send() +} + +// AssociateProfileWithContext is the same as AssociateProfile with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) AssociateProfileWithContext(ctx aws.Context, input *AssociateProfileInput, opts ...request.Option) (*AssociateProfileOutput, error) { + req, out := c.AssociateProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateResourceToProfile = "AssociateResourceToProfile" + +// AssociateResourceToProfileRequest generates a "aws/request.Request" representing the +// client's request for the AssociateResourceToProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See AssociateResourceToProfile for more information on using the AssociateResourceToProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the AssociateResourceToProfileRequest method. +// req, resp := client.AssociateResourceToProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/AssociateResourceToProfile +func (c *Route53Profiles) AssociateResourceToProfileRequest(input *AssociateResourceToProfileInput) (req *request.Request, output *AssociateResourceToProfileOutput) { + op := &request.Operation{ + Name: opAssociateResourceToProfile, + HTTPMethod: "POST", + HTTPPath: "/profileresourceassociation", + } + + if input == nil { + input = &AssociateResourceToProfileInput{} + } + + output = &AssociateResourceToProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateResourceToProfile API operation for Route 53 Profiles. +// +// Associates a DNS reource configuration to a Route 53 Profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation AssociateResourceToProfile for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - LimitExceededException +// The request caused one or more limits to be exceeded. +// +// - InternalServiceErrorException +// An internal server error occured. Retry your request. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/AssociateResourceToProfile +func (c *Route53Profiles) AssociateResourceToProfile(input *AssociateResourceToProfileInput) (*AssociateResourceToProfileOutput, error) { + req, out := c.AssociateResourceToProfileRequest(input) + return out, req.Send() +} + +// AssociateResourceToProfileWithContext is the same as AssociateResourceToProfile with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateResourceToProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) AssociateResourceToProfileWithContext(ctx aws.Context, input *AssociateResourceToProfileInput, opts ...request.Option) (*AssociateResourceToProfileOutput, error) { + req, out := c.AssociateResourceToProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateProfile = "CreateProfile" + +// CreateProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateProfile for more information on using the CreateProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateProfileRequest method. +// req, resp := client.CreateProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/CreateProfile +func (c *Route53Profiles) CreateProfileRequest(input *CreateProfileInput) (req *request.Request, output *CreateProfileOutput) { + op := &request.Operation{ + Name: opCreateProfile, + HTTPMethod: "POST", + HTTPPath: "/profile", + } + + if input == nil { + input = &CreateProfileInput{} + } + + output = &CreateProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateProfile API operation for Route 53 Profiles. +// +// Creates an empty Route 53 Profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation CreateProfile for usage and error information. +// +// Returned Error Types: +// +// - LimitExceededException +// The request caused one or more limits to be exceeded. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/CreateProfile +func (c *Route53Profiles) CreateProfile(input *CreateProfileInput) (*CreateProfileOutput, error) { + req, out := c.CreateProfileRequest(input) + return out, req.Send() +} + +// CreateProfileWithContext is the same as CreateProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) CreateProfileWithContext(ctx aws.Context, input *CreateProfileInput, opts ...request.Option) (*CreateProfileOutput, error) { + req, out := c.CreateProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteProfile = "DeleteProfile" + +// DeleteProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteProfile for more information on using the DeleteProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteProfileRequest method. +// req, resp := client.DeleteProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DeleteProfile +func (c *Route53Profiles) DeleteProfileRequest(input *DeleteProfileInput) (req *request.Request, output *DeleteProfileOutput) { + op := &request.Operation{ + Name: opDeleteProfile, + HTTPMethod: "DELETE", + HTTPPath: "/profile/{ProfileId}", + } + + if input == nil { + input = &DeleteProfileInput{} + } + + output = &DeleteProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteProfile API operation for Route 53 Profiles. +// +// Deletes the specified Route 53 Profile. Before you can delete a profile, +// you must first disassociate it from all VPCs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation DeleteProfile for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DeleteProfile +func (c *Route53Profiles) DeleteProfile(input *DeleteProfileInput) (*DeleteProfileOutput, error) { + req, out := c.DeleteProfileRequest(input) + return out, req.Send() +} + +// DeleteProfileWithContext is the same as DeleteProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) DeleteProfileWithContext(ctx aws.Context, input *DeleteProfileInput, opts ...request.Option) (*DeleteProfileOutput, error) { + req, out := c.DeleteProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateProfile = "DisassociateProfile" + +// DisassociateProfileRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateProfile for more information on using the DisassociateProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateProfileRequest method. +// req, resp := client.DisassociateProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DisassociateProfile +func (c *Route53Profiles) DisassociateProfileRequest(input *DisassociateProfileInput) (req *request.Request, output *DisassociateProfileOutput) { + op := &request.Operation{ + Name: opDisassociateProfile, + HTTPMethod: "DELETE", + HTTPPath: "/profileassociation/Profileid/{ProfileId}/resourceid/{ResourceId}", + } + + if input == nil { + input = &DisassociateProfileInput{} + } + + output = &DisassociateProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateProfile API operation for Route 53 Profiles. +// +// Dissociates a specified Route 53 Profile from the specified VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation DisassociateProfile for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - LimitExceededException +// The request caused one or more limits to be exceeded. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DisassociateProfile +func (c *Route53Profiles) DisassociateProfile(input *DisassociateProfileInput) (*DisassociateProfileOutput, error) { + req, out := c.DisassociateProfileRequest(input) + return out, req.Send() +} + +// DisassociateProfileWithContext is the same as DisassociateProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) DisassociateProfileWithContext(ctx aws.Context, input *DisassociateProfileInput, opts ...request.Option) (*DisassociateProfileOutput, error) { + req, out := c.DisassociateProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateResourceFromProfile = "DisassociateResourceFromProfile" + +// DisassociateResourceFromProfileRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateResourceFromProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DisassociateResourceFromProfile for more information on using the DisassociateResourceFromProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DisassociateResourceFromProfileRequest method. +// req, resp := client.DisassociateResourceFromProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DisassociateResourceFromProfile +func (c *Route53Profiles) DisassociateResourceFromProfileRequest(input *DisassociateResourceFromProfileInput) (req *request.Request, output *DisassociateResourceFromProfileOutput) { + op := &request.Operation{ + Name: opDisassociateResourceFromProfile, + HTTPMethod: "DELETE", + HTTPPath: "/profileresourceassociation/profileid/{ProfileId}/resourcearn/{ResourceArn}", + } + + if input == nil { + input = &DisassociateResourceFromProfileInput{} + } + + output = &DisassociateResourceFromProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateResourceFromProfile API operation for Route 53 Profiles. +// +// Dissoaciated a specified resource, from the Route 53 Profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation DisassociateResourceFromProfile for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - LimitExceededException +// The request caused one or more limits to be exceeded. +// +// - InternalServiceErrorException +// An internal server error occured. Retry your request. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/DisassociateResourceFromProfile +func (c *Route53Profiles) DisassociateResourceFromProfile(input *DisassociateResourceFromProfileInput) (*DisassociateResourceFromProfileOutput, error) { + req, out := c.DisassociateResourceFromProfileRequest(input) + return out, req.Send() +} + +// DisassociateResourceFromProfileWithContext is the same as DisassociateResourceFromProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateResourceFromProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) DisassociateResourceFromProfileWithContext(ctx aws.Context, input *DisassociateResourceFromProfileInput, opts ...request.Option) (*DisassociateResourceFromProfileOutput, error) { + req, out := c.DisassociateResourceFromProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetProfile = "GetProfile" + +// GetProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetProfile operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetProfile for more information on using the GetProfile +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetProfileRequest method. +// req, resp := client.GetProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfile +func (c *Route53Profiles) GetProfileRequest(input *GetProfileInput) (req *request.Request, output *GetProfileOutput) { + op := &request.Operation{ + Name: opGetProfile, + HTTPMethod: "GET", + HTTPPath: "/profile/{ProfileId}", + } + + if input == nil { + input = &GetProfileInput{} + } + + output = &GetProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetProfile API operation for Route 53 Profiles. +// +// Returns information about a specified Route 53 Profile, such as whether whether +// the Profile is shared, and the current status of the Profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation GetProfile for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfile +func (c *Route53Profiles) GetProfile(input *GetProfileInput) (*GetProfileOutput, error) { + req, out := c.GetProfileRequest(input) + return out, req.Send() +} + +// GetProfileWithContext is the same as GetProfile with the addition of +// the ability to pass a context and additional request options. +// +// See GetProfile for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) GetProfileWithContext(ctx aws.Context, input *GetProfileInput, opts ...request.Option) (*GetProfileOutput, error) { + req, out := c.GetProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetProfileAssociation = "GetProfileAssociation" + +// GetProfileAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetProfileAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetProfileAssociation for more information on using the GetProfileAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetProfileAssociationRequest method. +// req, resp := client.GetProfileAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfileAssociation +func (c *Route53Profiles) GetProfileAssociationRequest(input *GetProfileAssociationInput) (req *request.Request, output *GetProfileAssociationOutput) { + op := &request.Operation{ + Name: opGetProfileAssociation, + HTTPMethod: "GET", + HTTPPath: "/profileassociation/{ProfileAssociationId}", + } + + if input == nil { + input = &GetProfileAssociationInput{} + } + + output = &GetProfileAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetProfileAssociation API operation for Route 53 Profiles. +// +// Retrieves a Route 53 Profile association for a VPC. A VPC can have only one +// Profile association, but a Profile can be associated with up to 5000 VPCs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation GetProfileAssociation for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfileAssociation +func (c *Route53Profiles) GetProfileAssociation(input *GetProfileAssociationInput) (*GetProfileAssociationOutput, error) { + req, out := c.GetProfileAssociationRequest(input) + return out, req.Send() +} + +// GetProfileAssociationWithContext is the same as GetProfileAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See GetProfileAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) GetProfileAssociationWithContext(ctx aws.Context, input *GetProfileAssociationInput, opts ...request.Option) (*GetProfileAssociationOutput, error) { + req, out := c.GetProfileAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetProfileResourceAssociation = "GetProfileResourceAssociation" + +// GetProfileResourceAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetProfileResourceAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetProfileResourceAssociation for more information on using the GetProfileResourceAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetProfileResourceAssociationRequest method. +// req, resp := client.GetProfileResourceAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfileResourceAssociation +func (c *Route53Profiles) GetProfileResourceAssociationRequest(input *GetProfileResourceAssociationInput) (req *request.Request, output *GetProfileResourceAssociationOutput) { + op := &request.Operation{ + Name: opGetProfileResourceAssociation, + HTTPMethod: "GET", + HTTPPath: "/profileresourceassociation/{ProfileResourceAssociationId}", + } + + if input == nil { + input = &GetProfileResourceAssociationInput{} + } + + output = &GetProfileResourceAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetProfileResourceAssociation API operation for Route 53 Profiles. +// +// Returns information about a specified Route 53 Profile resource association. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation GetProfileResourceAssociation for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/GetProfileResourceAssociation +func (c *Route53Profiles) GetProfileResourceAssociation(input *GetProfileResourceAssociationInput) (*GetProfileResourceAssociationOutput, error) { + req, out := c.GetProfileResourceAssociationRequest(input) + return out, req.Send() +} + +// GetProfileResourceAssociationWithContext is the same as GetProfileResourceAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See GetProfileResourceAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) GetProfileResourceAssociationWithContext(ctx aws.Context, input *GetProfileResourceAssociationInput, opts ...request.Option) (*GetProfileResourceAssociationOutput, error) { + req, out := c.GetProfileResourceAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListProfileAssociations = "ListProfileAssociations" + +// ListProfileAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListProfileAssociations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProfileAssociations for more information on using the ListProfileAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListProfileAssociationsRequest method. +// req, resp := client.ListProfileAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfileAssociations +func (c *Route53Profiles) ListProfileAssociationsRequest(input *ListProfileAssociationsInput) (req *request.Request, output *ListProfileAssociationsOutput) { + op := &request.Operation{ + Name: opListProfileAssociations, + HTTPMethod: "GET", + HTTPPath: "/profileassociations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProfileAssociationsInput{} + } + + output = &ListProfileAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProfileAssociations API operation for Route 53 Profiles. +// +// Lists all the VPCs that the specified Route 53 Profile is associated with. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation ListProfileAssociations for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - InvalidNextTokenException +// The NextToken you provided isn;t valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfileAssociations +func (c *Route53Profiles) ListProfileAssociations(input *ListProfileAssociationsInput) (*ListProfileAssociationsOutput, error) { + req, out := c.ListProfileAssociationsRequest(input) + return out, req.Send() +} + +// ListProfileAssociationsWithContext is the same as ListProfileAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListProfileAssociations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListProfileAssociationsWithContext(ctx aws.Context, input *ListProfileAssociationsInput, opts ...request.Option) (*ListProfileAssociationsOutput, error) { + req, out := c.ListProfileAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProfileAssociationsPages iterates over the pages of a ListProfileAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProfileAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProfileAssociations operation. +// pageNum := 0 +// err := client.ListProfileAssociationsPages(params, +// func(page *route53profiles.ListProfileAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Route53Profiles) ListProfileAssociationsPages(input *ListProfileAssociationsInput, fn func(*ListProfileAssociationsOutput, bool) bool) error { + return c.ListProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProfileAssociationsPagesWithContext same as ListProfileAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListProfileAssociationsPagesWithContext(ctx aws.Context, input *ListProfileAssociationsInput, fn func(*ListProfileAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProfileAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProfileAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProfileAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProfileResourceAssociations = "ListProfileResourceAssociations" + +// ListProfileResourceAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListProfileResourceAssociations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProfileResourceAssociations for more information on using the ListProfileResourceAssociations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListProfileResourceAssociationsRequest method. +// req, resp := client.ListProfileResourceAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfileResourceAssociations +func (c *Route53Profiles) ListProfileResourceAssociationsRequest(input *ListProfileResourceAssociationsInput) (req *request.Request, output *ListProfileResourceAssociationsOutput) { + op := &request.Operation{ + Name: opListProfileResourceAssociations, + HTTPMethod: "GET", + HTTPPath: "/profileresourceassociations/profileid/{ProfileId}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProfileResourceAssociationsInput{} + } + + output = &ListProfileResourceAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProfileResourceAssociations API operation for Route 53 Profiles. +// +// Lists all the resource associations for the specified Route 53 Profile. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation ListProfileResourceAssociations for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - InternalServiceErrorException +// An internal server error occured. Retry your request. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - InvalidNextTokenException +// The NextToken you provided isn;t valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfileResourceAssociations +func (c *Route53Profiles) ListProfileResourceAssociations(input *ListProfileResourceAssociationsInput) (*ListProfileResourceAssociationsOutput, error) { + req, out := c.ListProfileResourceAssociationsRequest(input) + return out, req.Send() +} + +// ListProfileResourceAssociationsWithContext is the same as ListProfileResourceAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See ListProfileResourceAssociations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListProfileResourceAssociationsWithContext(ctx aws.Context, input *ListProfileResourceAssociationsInput, opts ...request.Option) (*ListProfileResourceAssociationsOutput, error) { + req, out := c.ListProfileResourceAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProfileResourceAssociationsPages iterates over the pages of a ListProfileResourceAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProfileResourceAssociations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProfileResourceAssociations operation. +// pageNum := 0 +// err := client.ListProfileResourceAssociationsPages(params, +// func(page *route53profiles.ListProfileResourceAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Route53Profiles) ListProfileResourceAssociationsPages(input *ListProfileResourceAssociationsInput, fn func(*ListProfileResourceAssociationsOutput, bool) bool) error { + return c.ListProfileResourceAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProfileResourceAssociationsPagesWithContext same as ListProfileResourceAssociationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListProfileResourceAssociationsPagesWithContext(ctx aws.Context, input *ListProfileResourceAssociationsInput, fn func(*ListProfileResourceAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProfileResourceAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProfileResourceAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProfileResourceAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProfiles = "ListProfiles" + +// ListProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListProfiles operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListProfiles for more information on using the ListProfiles +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListProfilesRequest method. +// req, resp := client.ListProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfiles +func (c *Route53Profiles) ListProfilesRequest(input *ListProfilesInput) (req *request.Request, output *ListProfilesOutput) { + op := &request.Operation{ + Name: opListProfiles, + HTTPMethod: "GET", + HTTPPath: "/profiles", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListProfilesInput{} + } + + output = &ListProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListProfiles API operation for Route 53 Profiles. +// +// Lists all the Route 53 Profiles associated with your Amazon Web Services +// account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation ListProfiles for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - InvalidNextTokenException +// The NextToken you provided isn;t valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListProfiles +func (c *Route53Profiles) ListProfiles(input *ListProfilesInput) (*ListProfilesOutput, error) { + req, out := c.ListProfilesRequest(input) + return out, req.Send() +} + +// ListProfilesWithContext is the same as ListProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See ListProfiles for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListProfilesWithContext(ctx aws.Context, input *ListProfilesInput, opts ...request.Option) (*ListProfilesOutput, error) { + req, out := c.ListProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListProfilesPages iterates over the pages of a ListProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProfiles method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListProfiles operation. +// pageNum := 0 +// err := client.ListProfilesPages(params, +// func(page *route53profiles.ListProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Route53Profiles) ListProfilesPages(input *ListProfilesInput, fn func(*ListProfilesOutput, bool) bool) error { + return c.ListProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProfilesPagesWithContext same as ListProfilesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListProfilesPagesWithContext(ctx aws.Context, input *ListProfilesInput, fn func(*ListProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListTagsForResource +func (c *Route53Profiles) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Route 53 Profiles. +// +// Lists the tags that you associated with the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/ListTagsForResource +func (c *Route53Profiles) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/TagResource +func (c *Route53Profiles) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Route 53 Profiles. +// +// Adds one or more tags to a specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/TagResource +func (c *Route53Profiles) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/UntagResource +func (c *Route53Profiles) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Route 53 Profiles. +// +// Removes one or more tags from a specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/UntagResource +func (c *Route53Profiles) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProfileResourceAssociation = "UpdateProfileResourceAssociation" + +// UpdateProfileResourceAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProfileResourceAssociation operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateProfileResourceAssociation for more information on using the UpdateProfileResourceAssociation +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateProfileResourceAssociationRequest method. +// req, resp := client.UpdateProfileResourceAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/UpdateProfileResourceAssociation +func (c *Route53Profiles) UpdateProfileResourceAssociationRequest(input *UpdateProfileResourceAssociationInput) (req *request.Request, output *UpdateProfileResourceAssociationOutput) { + op := &request.Operation{ + Name: opUpdateProfileResourceAssociation, + HTTPMethod: "PATCH", + HTTPPath: "/profileresourceassociation/{ProfileResourceAssociationId}", + } + + if input == nil { + input = &UpdateProfileResourceAssociationInput{} + } + + output = &UpdateProfileResourceAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProfileResourceAssociation API operation for Route 53 Profiles. +// +// Updates the specified Route 53 Profile resourse association. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Route 53 Profiles's +// API operation UpdateProfileResourceAssociation for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// The resource you are associating is not found. +// +// - LimitExceededException +// The request caused one or more limits to be exceeded. +// +// - InternalServiceErrorException +// An internal server error occured. Retry your request. +// +// - InvalidParameterException +// One or more parameters in this request are not valid. +// +// - ThrottlingException +// The request was throttled. Try again in a few minutes. +// +// - ValidationException +// You have provided an invalid command. +// +// - AccessDeniedException +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +// +// - ConflictException +// The request you submitted conflicts with an existing request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10/UpdateProfileResourceAssociation +func (c *Route53Profiles) UpdateProfileResourceAssociation(input *UpdateProfileResourceAssociationInput) (*UpdateProfileResourceAssociationOutput, error) { + req, out := c.UpdateProfileResourceAssociationRequest(input) + return out, req.Send() +} + +// UpdateProfileResourceAssociationWithContext is the same as UpdateProfileResourceAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProfileResourceAssociation for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Route53Profiles) UpdateProfileResourceAssociationWithContext(ctx aws.Context, input *UpdateProfileResourceAssociationInput, opts ...request.Option) (*UpdateProfileResourceAssociationOutput, error) { + req, out := c.UpdateProfileResourceAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The current account doesn't have the IAM permissions required to perform +// the specified operation. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AssociateProfileInput struct { + _ struct{} `type:"structure"` + + // A name for the association. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // ID of the Profile. + // + // ProfileId is a required field + ProfileId *string `min:"1" type:"string" required:"true"` + + // The ID of the VPC. + // + // ResourceId is a required field + ResourceId *string `min:"1" type:"string" required:"true"` + + // A list of the tag keys and values that you want to identify the Profile association. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateProfileInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AssociateProfileInput) SetName(v string) *AssociateProfileInput { + s.Name = &v + return s +} + +// SetProfileId sets the ProfileId field's value. +func (s *AssociateProfileInput) SetProfileId(v string) *AssociateProfileInput { + s.ProfileId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *AssociateProfileInput) SetResourceId(v string) *AssociateProfileInput { + s.ResourceId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *AssociateProfileInput) SetTags(v []*Tag) *AssociateProfileInput { + s.Tags = v + return s +} + +type AssociateProfileOutput struct { + _ struct{} `type:"structure"` + + // The association that you just created. The association has an ID that you + // can use to identify it in other requests, like update and delete. + ProfileAssociation *ProfileAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateProfileOutput) GoString() string { + return s.String() +} + +// SetProfileAssociation sets the ProfileAssociation field's value. +func (s *AssociateProfileOutput) SetProfileAssociation(v *ProfileAssociation) *AssociateProfileOutput { + s.ProfileAssociation = v + return s +} + +type AssociateResourceToProfileInput struct { + _ struct{} `type:"structure"` + + // Name for the resource association. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // ID of the Profile. + // + // ProfileId is a required field + ProfileId *string `min:"1" type:"string" required:"true"` + + // Amazon resource number, ARN, of the DNS resource. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // If you are adding a DNS Firewall rule group, include also a priority in this + // format: + // + // Key=FirewallRuleGroupPriority,Value=100 + ResourceProperties *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateResourceToProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateResourceToProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateResourceToProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateResourceToProfileInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *AssociateResourceToProfileInput) SetName(v string) *AssociateResourceToProfileInput { + s.Name = &v + return s +} + +// SetProfileId sets the ProfileId field's value. +func (s *AssociateResourceToProfileInput) SetProfileId(v string) *AssociateResourceToProfileInput { + s.ProfileId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *AssociateResourceToProfileInput) SetResourceArn(v string) *AssociateResourceToProfileInput { + s.ResourceArn = &v + return s +} + +// SetResourceProperties sets the ResourceProperties field's value. +func (s *AssociateResourceToProfileInput) SetResourceProperties(v string) *AssociateResourceToProfileInput { + s.ResourceProperties = &v + return s +} + +type AssociateResourceToProfileOutput struct { + _ struct{} `type:"structure"` + + // Infromation about the AssociateResourceToProfile, including a status message. + ProfileResourceAssociation *ProfileResourceAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateResourceToProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AssociateResourceToProfileOutput) GoString() string { + return s.String() +} + +// SetProfileResourceAssociation sets the ProfileResourceAssociation field's value. +func (s *AssociateResourceToProfileOutput) SetProfileResourceAssociation(v *ProfileResourceAssociation) *AssociateResourceToProfileOutput { + s.ProfileResourceAssociation = v + return s +} + +// The request you submitted conflicts with an existing request. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateProfileInput struct { + _ struct{} `type:"structure"` + + // ClientToken is an idempotency token that ensures a call to CreateProfile + // completes only once. You choose the value to pass. For example, an issue + // might prevent you from getting a response from CreateProfile. In this case, + // safely retry your call to CreateProfile by using the same CreateProfile parameter + // value. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A name for the Profile. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // A list of the tag keys and values that you want to associate with the Route + // 53 Profile. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProfileInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateProfileInput) SetClientToken(v string) *CreateProfileInput { + s.ClientToken = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateProfileInput) SetName(v string) *CreateProfileInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateProfileInput) SetTags(v []*Tag) *CreateProfileInput { + s.Tags = v + return s +} + +type CreateProfileOutput struct { + _ struct{} `type:"structure"` + + // The Profile that you just created. + Profile *Profile `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateProfileOutput) GoString() string { + return s.String() +} + +// SetProfile sets the Profile field's value. +func (s *CreateProfileOutput) SetProfile(v *Profile) *CreateProfileOutput { + s.Profile = v + return s +} + +type DeleteProfileInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the Profile that you want to delete. + // + // ProfileId is a required field + ProfileId *string `location:"uri" locationName:"ProfileId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileId sets the ProfileId field's value. +func (s *DeleteProfileInput) SetProfileId(v string) *DeleteProfileInput { + s.ProfileId = &v + return s +} + +type DeleteProfileOutput struct { + _ struct{} `type:"structure"` + + // Information about the DeleteProfile request, including the status of the + // request. + Profile *Profile `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteProfileOutput) GoString() string { + return s.String() +} + +// SetProfile sets the Profile field's value. +func (s *DeleteProfileOutput) SetProfile(v *Profile) *DeleteProfileOutput { + s.Profile = v + return s +} + +type DisassociateProfileInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ID of the Profile. + // + // ProfileId is a required field + ProfileId *string `location:"uri" locationName:"ProfileId" min:"1" type:"string" required:"true"` + + // The ID of the VPC. + // + // ResourceId is a required field + ResourceId *string `location:"uri" locationName:"ResourceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + if s.ResourceId == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceId")) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileId sets the ProfileId field's value. +func (s *DisassociateProfileInput) SetProfileId(v string) *DisassociateProfileInput { + s.ProfileId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *DisassociateProfileInput) SetResourceId(v string) *DisassociateProfileInput { + s.ResourceId = &v + return s +} + +type DisassociateProfileOutput struct { + _ struct{} `type:"structure"` + + // Information about the DisassociateProfile request. + ProfileAssociation *ProfileAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateProfileOutput) GoString() string { + return s.String() +} + +// SetProfileAssociation sets the ProfileAssociation field's value. +func (s *DisassociateProfileOutput) SetProfileAssociation(v *ProfileAssociation) *DisassociateProfileOutput { + s.ProfileAssociation = v + return s +} + +type DisassociateResourceFromProfileInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the Profile. + // + // ProfileId is a required field + ProfileId *string `location:"uri" locationName:"ProfileId" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateResourceFromProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateResourceFromProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateResourceFromProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateResourceFromProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileId sets the ProfileId field's value. +func (s *DisassociateResourceFromProfileInput) SetProfileId(v string) *DisassociateResourceFromProfileInput { + s.ProfileId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DisassociateResourceFromProfileInput) SetResourceArn(v string) *DisassociateResourceFromProfileInput { + s.ResourceArn = &v + return s +} + +type DisassociateResourceFromProfileOutput struct { + _ struct{} `type:"structure"` + + // Information about the DisassociateResourceFromProfile request, including + // the status of the request. + ProfileResourceAssociation *ProfileResourceAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateResourceFromProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateResourceFromProfileOutput) GoString() string { + return s.String() +} + +// SetProfileResourceAssociation sets the ProfileResourceAssociation field's value. +func (s *DisassociateResourceFromProfileOutput) SetProfileResourceAssociation(v *ProfileResourceAssociation) *DisassociateResourceFromProfileOutput { + s.ProfileResourceAssociation = v + return s +} + +type GetProfileAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the association you want to get information about. + // + // ProfileAssociationId is a required field + ProfileAssociationId *string `location:"uri" locationName:"ProfileAssociationId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProfileAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProfileAssociationInput"} + if s.ProfileAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileAssociationId")) + } + if s.ProfileAssociationId != nil && len(*s.ProfileAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileAssociationId sets the ProfileAssociationId field's value. +func (s *GetProfileAssociationInput) SetProfileAssociationId(v string) *GetProfileAssociationInput { + s.ProfileAssociationId = &v + return s +} + +type GetProfileAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the Profile association that you specified in a GetProfileAssociation + // request. + ProfileAssociation *ProfileAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileAssociationOutput) GoString() string { + return s.String() +} + +// SetProfileAssociation sets the ProfileAssociation field's value. +func (s *GetProfileAssociationOutput) SetProfileAssociation(v *ProfileAssociation) *GetProfileAssociationOutput { + s.ProfileAssociation = v + return s +} + +type GetProfileInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ID of the Profile. + // + // ProfileId is a required field + ProfileId *string `location:"uri" locationName:"ProfileId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProfileInput"} + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileId sets the ProfileId field's value. +func (s *GetProfileInput) SetProfileId(v string) *GetProfileInput { + s.ProfileId = &v + return s +} + +type GetProfileOutput struct { + _ struct{} `type:"structure"` + + // Information about the Profile, including the status of the Profile. + Profile *Profile `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileOutput) GoString() string { + return s.String() +} + +// SetProfile sets the Profile field's value. +func (s *GetProfileOutput) SetProfile(v *Profile) *GetProfileOutput { + s.Profile = v + return s +} + +type GetProfileResourceAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the profile resource association that you want to get information + // about. + // + // ProfileResourceAssociationId is a required field + ProfileResourceAssociationId *string `location:"uri" locationName:"ProfileResourceAssociationId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileResourceAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileResourceAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetProfileResourceAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProfileResourceAssociationInput"} + if s.ProfileResourceAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileResourceAssociationId")) + } + if s.ProfileResourceAssociationId != nil && len(*s.ProfileResourceAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileResourceAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProfileResourceAssociationId sets the ProfileResourceAssociationId field's value. +func (s *GetProfileResourceAssociationInput) SetProfileResourceAssociationId(v string) *GetProfileResourceAssociationInput { + s.ProfileResourceAssociationId = &v + return s +} + +type GetProfileResourceAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the Profile resource association that you specified in + // a GetProfileResourceAssociation request. + ProfileResourceAssociation *ProfileResourceAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileResourceAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetProfileResourceAssociationOutput) GoString() string { + return s.String() +} + +// SetProfileResourceAssociation sets the ProfileResourceAssociation field's value. +func (s *GetProfileResourceAssociationOutput) SetProfileResourceAssociation(v *ProfileResourceAssociation) *GetProfileResourceAssociationOutput { + s.ProfileResourceAssociation = v + return s +} + +// An internal server error occured. Retry your request. +type InternalServiceErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServiceErrorException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServiceErrorException) GoString() string { + return s.String() +} + +func newErrorInternalServiceErrorException(v protocol.ResponseMetadata) error { + return &InternalServiceErrorException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServiceErrorException) Code() string { + return "InternalServiceErrorException" +} + +// Message returns the exception's message. +func (s *InternalServiceErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServiceErrorException) OrigErr() error { + return nil +} + +func (s *InternalServiceErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServiceErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServiceErrorException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The NextToken you provided isn;t valid. +type InvalidNextTokenException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidNextTokenException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidNextTokenException) GoString() string { + return s.String() +} + +func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error { + return &InvalidNextTokenException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidNextTokenException) Code() string { + return "InvalidNextTokenException" +} + +// Message returns the exception's message. +func (s *InvalidNextTokenException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNextTokenException) OrigErr() error { + return nil +} + +func (s *InvalidNextTokenException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidNextTokenException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidNextTokenException) RequestID() string { + return s.RespMetadata.RequestID +} + +// One or more parameters in this request are not valid. +type InvalidParameterException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The parameter field name for the invalid parameter exception. + FieldName *string `type:"string"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidParameterException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidParameterException) GoString() string { + return s.String() +} + +func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { + return &InvalidParameterException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidParameterException) Code() string { + return "InvalidParameterException" +} + +// Message returns the exception's message. +func (s *InvalidParameterException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterException) OrigErr() error { + return nil +} + +func (s *InvalidParameterException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request caused one or more limits to be exceeded. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The resource type that caused the limits to be exceeded. + ResourceType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" +} + +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListProfileAssociationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of objects that you want to return for this request. If + // more objects are available, in the response, a NextToken value, which you + // can use in a subsequent call to get the next batch of objects, is provided. + // + // If you don't specify a value for MaxResults, up to 100 objects are returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, at most the number of objects specified + // by MaxResults is returned. If more objects are available for retrieval, a + // NextToken value is returned in the response. To retrieve the next batch of + // objects, use the token that was returned for the prior request in your next + // request. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // ID of the Profile. + ProfileId *string `location:"querystring" locationName:"profileId" min:"1" type:"string"` + + // ID of the VPC. + ResourceId *string `location:"querystring" locationName:"resourceId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProfileAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProfileAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + if s.ResourceId != nil && len(*s.ResourceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProfileAssociationsInput) SetMaxResults(v int64) *ListProfileAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfileAssociationsInput) SetNextToken(v string) *ListProfileAssociationsInput { + s.NextToken = &v + return s +} + +// SetProfileId sets the ProfileId field's value. +func (s *ListProfileAssociationsInput) SetProfileId(v string) *ListProfileAssociationsInput { + s.ProfileId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ListProfileAssociationsInput) SetResourceId(v string) *ListProfileAssociationsInput { + s.ResourceId = &v + return s +} + +type ListProfileAssociationsOutput struct { + _ struct{} `type:"structure"` + + // If more than MaxResults profile associations match the specified criteria, + // you can submit another ListProfileAssociations request to get the next group + // of results. In the next request, specify the value of NextToken from the + // previous response. + NextToken *string `type:"string"` + + // A complex type that containts settings information about the profile's VPC + // associations. + ProfileAssociations []*ProfileAssociation `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileAssociationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfileAssociationsOutput) SetNextToken(v string) *ListProfileAssociationsOutput { + s.NextToken = &v + return s +} + +// SetProfileAssociations sets the ProfileAssociations field's value. +func (s *ListProfileAssociationsOutput) SetProfileAssociations(v []*ProfileAssociation) *ListProfileAssociationsOutput { + s.ProfileAssociations = v + return s +} + +type ListProfileResourceAssociationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of objects that you want to return for this request. If + // more objects are available, in the response, a NextToken value, which you + // can use in a subsequent call to get the next batch of objects, is provided. + // + // If you don't specify a value for MaxResults, up to 100 objects are returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, at most the number of objects specified + // by MaxResults is returned. If more objects are available for retrieval, a + // NextToken value is returned in the response. To retrieve the next batch of + // objects, use the token that was returned for the prior request in your next + // request. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The ID of the Profile. + // + // ProfileId is a required field + ProfileId *string `location:"uri" locationName:"ProfileId" min:"1" type:"string" required:"true"` + + // ID of a resource if you want information on only one type. + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileResourceAssociationsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileResourceAssociationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProfileResourceAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProfileResourceAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileId")) + } + if s.ProfileId != nil && len(*s.ProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProfileResourceAssociationsInput) SetMaxResults(v int64) *ListProfileResourceAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfileResourceAssociationsInput) SetNextToken(v string) *ListProfileResourceAssociationsInput { + s.NextToken = &v + return s +} + +// SetProfileId sets the ProfileId field's value. +func (s *ListProfileResourceAssociationsInput) SetProfileId(v string) *ListProfileResourceAssociationsInput { + s.ProfileId = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ListProfileResourceAssociationsInput) SetResourceType(v string) *ListProfileResourceAssociationsInput { + s.ResourceType = &v + return s +} + +type ListProfileResourceAssociationsOutput struct { + _ struct{} `type:"structure"` + + // If more than MaxResults resource associations match the specified criteria, + // you can submit another ListProfileResourceAssociations request to get the + // next group of results. In the next request, specify the value of NextToken + // from the previous response. + NextToken *string `type:"string"` + + // Information about the profile resource association that you specified in + // a GetProfileResourceAssociation request. + ProfileResourceAssociations []*ProfileResourceAssociation `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileResourceAssociationsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfileResourceAssociationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfileResourceAssociationsOutput) SetNextToken(v string) *ListProfileResourceAssociationsOutput { + s.NextToken = &v + return s +} + +// SetProfileResourceAssociations sets the ProfileResourceAssociations field's value. +func (s *ListProfileResourceAssociationsOutput) SetProfileResourceAssociations(v []*ProfileResourceAssociation) *ListProfileResourceAssociationsOutput { + s.ProfileResourceAssociations = v + return s +} + +type ListProfilesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of objects that you want to return for this request. If + // more objects are available, in the response, a NextToken value, which you + // can use in a subsequent call to get the next batch of objects, is provided. + // + // If you don't specify a value for MaxResults, up to 100 objects are returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // For the first call to this list request, omit this value. + // + // When you request a list of objects, at most the number of objects specified + // by MaxResults is returned. If more objects are available for retrieval, a + // NextToken value is returned in the response. To retrieve the next batch of + // objects, use the token that was returned for the prior request in your next + // request. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfilesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListProfilesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProfilesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListProfilesInput) SetMaxResults(v int64) *ListProfilesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfilesInput) SetNextToken(v string) *ListProfilesInput { + s.NextToken = &v + return s +} + +type ListProfilesOutput struct { + _ struct{} `type:"structure"` + + // If more than MaxResults resource associations match the specified criteria, + // you can submit another ListProfiles request to get the next group of results. + // In the next request, specify the value of NextToken from the previous response. + NextToken *string `type:"string"` + + // Summary information about the Profiles. + ProfileSummaries []*ProfileSummary `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListProfilesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProfilesOutput) SetNextToken(v string) *ListProfilesOutput { + s.NextToken = &v + return s +} + +// SetProfileSummaries sets the ProfileSummaries field's value. +func (s *ListProfilesOutput) SetProfileSummaries(v []*ProfileSummary) *ListProfilesOutput { + s.ProfileSummaries = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) for the resource that you want to list the + // tags for. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags that are associated with the resource that you specified in the + // ListTagsForResource request. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// A complex type that includes settings for a Route 53 Profile. +type Profile struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Profile. + Arn *string `min:"1" type:"string"` + + // The ClientToken value that was assigned when the Profile was created. + ClientToken *string `min:"1" type:"string"` + + // The date and time that the Profile was created, in Unix time format and Coordinated + // Universal Time (UTC). + CreationTime *time.Time `type:"timestamp"` + + // ID of the Profile. + Id *string `min:"1" type:"string"` + + // The date and time that the Profile was modified, in Unix time format and + // Coordinated Universal Time (UTC). + ModificationTime *time.Time `type:"timestamp"` + + // Name of the Profile. + Name *string `type:"string"` + + // Amazon Web Services account ID of the Profile owner. + OwnerId *string `min:"12" type:"string"` + + // Sharing status for the Profile. + ShareStatus *string `type:"string" enum:"ShareStatus"` + + // The status for the Profile. + Status *string `type:"string" enum:"ProfileStatus"` + + // Status message that includes additiona information about the Profile. + StatusMessage *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Profile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Profile) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Profile) SetArn(v string) *Profile { + s.Arn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *Profile) SetClientToken(v string) *Profile { + s.ClientToken = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Profile) SetCreationTime(v time.Time) *Profile { + s.CreationTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *Profile) SetId(v string) *Profile { + s.Id = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *Profile) SetModificationTime(v time.Time) *Profile { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Profile) SetName(v string) *Profile { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *Profile) SetOwnerId(v string) *Profile { + s.OwnerId = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *Profile) SetShareStatus(v string) *Profile { + s.ShareStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Profile) SetStatus(v string) *Profile { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *Profile) SetStatusMessage(v string) *Profile { + s.StatusMessage = &v + return s +} + +// An association between a Route 53 Profile and a VPC. +type ProfileAssociation struct { + _ struct{} `type:"structure"` + + // The date and time that the Profile association was created, in Unix time + // format and Coordinated Universal Time (UTC). + CreationTime *time.Time `type:"timestamp"` + + // ID of the Profile association. + Id *string `min:"1" type:"string"` + + // The date and time that the Profile association was modified, in Unix time + // format and Coordinated Universal Time (UTC). + ModificationTime *time.Time `type:"timestamp"` + + // Name of the Profile association. + Name *string `type:"string"` + + // Amazon Web Services account ID of the Profile association owner. + OwnerId *string `min:"12" type:"string"` + + // ID of the Profile. + ProfileId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the VPC. + ResourceId *string `min:"1" type:"string"` + + // Status of the Profile association. + Status *string `type:"string" enum:"ProfileStatus"` + + // Additional information about the Profile association. + StatusMessage *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileAssociation) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ProfileAssociation) SetCreationTime(v time.Time) *ProfileAssociation { + s.CreationTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *ProfileAssociation) SetId(v string) *ProfileAssociation { + s.Id = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *ProfileAssociation) SetModificationTime(v time.Time) *ProfileAssociation { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ProfileAssociation) SetName(v string) *ProfileAssociation { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *ProfileAssociation) SetOwnerId(v string) *ProfileAssociation { + s.OwnerId = &v + return s +} + +// SetProfileId sets the ProfileId field's value. +func (s *ProfileAssociation) SetProfileId(v string) *ProfileAssociation { + s.ProfileId = &v + return s +} + +// SetResourceId sets the ResourceId field's value. +func (s *ProfileAssociation) SetResourceId(v string) *ProfileAssociation { + s.ResourceId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ProfileAssociation) SetStatus(v string) *ProfileAssociation { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ProfileAssociation) SetStatusMessage(v string) *ProfileAssociation { + s.StatusMessage = &v + return s +} + +// The association between a Route 53 Profile and resources. +type ProfileResourceAssociation struct { + _ struct{} `type:"structure"` + + // The date and time that the Profile resource association was created, in Unix + // time format and Coordinated Universal Time (UTC). + CreationTime *time.Time `type:"timestamp"` + + // ID of the Profile resource association. + Id *string `min:"1" type:"string"` + + // The date and time that the Profile resource association was modified, in + // Unix time format and Coordinated Universal Time (UTC). + ModificationTime *time.Time `type:"timestamp"` + + // Name of the Profile resource association. + Name *string `type:"string"` + + // Amazon Web Services account ID of the Profile resource association owner. + OwnerId *string `min:"12" type:"string"` + + // Profile ID of the Profile that the resources are associated with. + ProfileId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the resource association. + ResourceArn *string `min:"1" type:"string"` + + // If the DNS resource is a DNS Firewall rule group, this indicates the priority. + ResourceProperties *string `type:"string"` + + // Resource type, such as a private hosted zone, or DNS Firewall rule group. + ResourceType *string `type:"string"` + + // Status of the Profile resource association. + Status *string `type:"string" enum:"ProfileStatus"` + + // Additional information about the Profile resource association. + StatusMessage *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileResourceAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileResourceAssociation) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ProfileResourceAssociation) SetCreationTime(v time.Time) *ProfileResourceAssociation { + s.CreationTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *ProfileResourceAssociation) SetId(v string) *ProfileResourceAssociation { + s.Id = &v + return s +} + +// SetModificationTime sets the ModificationTime field's value. +func (s *ProfileResourceAssociation) SetModificationTime(v time.Time) *ProfileResourceAssociation { + s.ModificationTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *ProfileResourceAssociation) SetName(v string) *ProfileResourceAssociation { + s.Name = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *ProfileResourceAssociation) SetOwnerId(v string) *ProfileResourceAssociation { + s.OwnerId = &v + return s +} + +// SetProfileId sets the ProfileId field's value. +func (s *ProfileResourceAssociation) SetProfileId(v string) *ProfileResourceAssociation { + s.ProfileId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ProfileResourceAssociation) SetResourceArn(v string) *ProfileResourceAssociation { + s.ResourceArn = &v + return s +} + +// SetResourceProperties sets the ResourceProperties field's value. +func (s *ProfileResourceAssociation) SetResourceProperties(v string) *ProfileResourceAssociation { + s.ResourceProperties = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ProfileResourceAssociation) SetResourceType(v string) *ProfileResourceAssociation { + s.ResourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ProfileResourceAssociation) SetStatus(v string) *ProfileResourceAssociation { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *ProfileResourceAssociation) SetStatusMessage(v string) *ProfileResourceAssociation { + s.StatusMessage = &v + return s +} + +// Summary information about a Route 53 Profile. +type ProfileSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the Profile. + Arn *string `min:"1" type:"string"` + + // ID of the Profile. + Id *string `min:"1" type:"string"` + + // Name of the Profile. + Name *string `type:"string"` + + // Share status of the Profile. + ShareStatus *string `type:"string" enum:"ShareStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ProfileSummary) SetArn(v string) *ProfileSummary { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *ProfileSummary) SetId(v string) *ProfileSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ProfileSummary) SetName(v string) *ProfileSummary { + s.Name = &v + return s +} + +// SetShareStatus sets the ShareStatus field's value. +func (s *ProfileSummary) SetShareStatus(v string) *ProfileSummary { + s.ShareStatus = &v + return s +} + +// The resource you are trying to associate, has already been associated. +type ResourceExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The resource type that caused the resource exists exception. + ResourceType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceExistsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceExistsException) GoString() string { + return s.String() +} + +func newErrorResourceExistsException(v protocol.ResponseMetadata) error { + return &ResourceExistsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceExistsException) Code() string { + return "ResourceExistsException" +} + +// Message returns the exception's message. +func (s *ResourceExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceExistsException) OrigErr() error { + return nil +} + +func (s *ResourceExistsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceExistsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The resource you are associating is not found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The resource type that caused the resource not found exception. + ResourceType *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Tag for the Profile. +type Tag struct { + _ struct{} `type:"structure"` + + // Key associated with the Tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // Value for the Tag. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for the resource that you want to add tags + // to. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` + + // The tags that you want to add to the specified resource. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The request was throttled. Try again in a few minutes. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) for the resource that you want to remove tags + // from. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"1" type:"string" required:"true"` + + // The tags that you want to remove to the specified resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateProfileResourceAssociationInput struct { + _ struct{} `type:"structure"` + + // Name of the resource association. + Name *string `type:"string"` + + // ID of the resource association. + // + // ProfileResourceAssociationId is a required field + ProfileResourceAssociationId *string `location:"uri" locationName:"ProfileResourceAssociationId" min:"1" type:"string" required:"true"` + + // If you are adding a DNS Firewall rule group, include also a priority in this + // format: + // + // Key=FirewallRuleGroupPriority,Value=100. + ResourceProperties *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProfileResourceAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProfileResourceAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateProfileResourceAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateProfileResourceAssociationInput"} + if s.ProfileResourceAssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("ProfileResourceAssociationId")) + } + if s.ProfileResourceAssociationId != nil && len(*s.ProfileResourceAssociationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProfileResourceAssociationId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *UpdateProfileResourceAssociationInput) SetName(v string) *UpdateProfileResourceAssociationInput { + s.Name = &v + return s +} + +// SetProfileResourceAssociationId sets the ProfileResourceAssociationId field's value. +func (s *UpdateProfileResourceAssociationInput) SetProfileResourceAssociationId(v string) *UpdateProfileResourceAssociationInput { + s.ProfileResourceAssociationId = &v + return s +} + +// SetResourceProperties sets the ResourceProperties field's value. +func (s *UpdateProfileResourceAssociationInput) SetResourceProperties(v string) *UpdateProfileResourceAssociationInput { + s.ResourceProperties = &v + return s +} + +type UpdateProfileResourceAssociationOutput struct { + _ struct{} `type:"structure"` + + // Information about the UpdateProfileResourceAssociation request, including + // a status message. + ProfileResourceAssociation *ProfileResourceAssociation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProfileResourceAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateProfileResourceAssociationOutput) GoString() string { + return s.String() +} + +// SetProfileResourceAssociation sets the ProfileResourceAssociation field's value. +func (s *UpdateProfileResourceAssociationOutput) SetProfileResourceAssociation(v *ProfileResourceAssociation) *UpdateProfileResourceAssociationOutput { + s.ProfileResourceAssociation = v + return s +} + +// You have provided an invalid command. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // ProfileStatusComplete is a ProfileStatus enum value + ProfileStatusComplete = "COMPLETE" + + // ProfileStatusDeleting is a ProfileStatus enum value + ProfileStatusDeleting = "DELETING" + + // ProfileStatusUpdating is a ProfileStatus enum value + ProfileStatusUpdating = "UPDATING" + + // ProfileStatusCreating is a ProfileStatus enum value + ProfileStatusCreating = "CREATING" + + // ProfileStatusDeleted is a ProfileStatus enum value + ProfileStatusDeleted = "DELETED" + + // ProfileStatusFailed is a ProfileStatus enum value + ProfileStatusFailed = "FAILED" +) + +// ProfileStatus_Values returns all elements of the ProfileStatus enum +func ProfileStatus_Values() []string { + return []string{ + ProfileStatusComplete, + ProfileStatusDeleting, + ProfileStatusUpdating, + ProfileStatusCreating, + ProfileStatusDeleted, + ProfileStatusFailed, + } +} + +const ( + // ShareStatusNotShared is a ShareStatus enum value + ShareStatusNotShared = "NOT_SHARED" + + // ShareStatusSharedWithMe is a ShareStatus enum value + ShareStatusSharedWithMe = "SHARED_WITH_ME" + + // ShareStatusSharedByMe is a ShareStatus enum value + ShareStatusSharedByMe = "SHARED_BY_ME" +) + +// ShareStatus_Values returns all elements of the ShareStatus enum +func ShareStatus_Values() []string { + return []string{ + ShareStatusNotShared, + ShareStatusSharedWithMe, + ShareStatusSharedByMe, + } +} diff --git a/service/route53profiles/doc.go b/service/route53profiles/doc.go new file mode 100644 index 00000000000..d7e2091dcaa --- /dev/null +++ b/service/route53profiles/doc.go @@ -0,0 +1,29 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package route53profiles provides the client and types for making API +// requests to Route 53 Profiles. +// +// With Amazon Route 53 Profiles you can share Route 53 configurations with +// VPCs and AWS accounts +// +// See https://docs.aws.amazon.com/goto/WebAPI/route53profiles-2018-05-10 for more information on this service. +// +// See route53profiles package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/route53profiles/ +// +// # Using the Client +// +// To contact Route 53 Profiles with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Route 53 Profiles client Route53Profiles for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/route53profiles/#New +package route53profiles diff --git a/service/route53profiles/errors.go b/service/route53profiles/errors.go new file mode 100644 index 00000000000..00df96f60b6 --- /dev/null +++ b/service/route53profiles/errors.go @@ -0,0 +1,84 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package route53profiles + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // The current account doesn't have the IAM permissions required to perform + // the specified operation. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request you submitted conflicts with an existing request. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServiceErrorException for service response error code + // "InternalServiceErrorException". + // + // An internal server error occured. Retry your request. + ErrCodeInternalServiceErrorException = "InternalServiceErrorException" + + // ErrCodeInvalidNextTokenException for service response error code + // "InvalidNextTokenException". + // + // The NextToken you provided isn;t valid. + ErrCodeInvalidNextTokenException = "InvalidNextTokenException" + + // ErrCodeInvalidParameterException for service response error code + // "InvalidParameterException". + // + // One or more parameters in this request are not valid. + ErrCodeInvalidParameterException = "InvalidParameterException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The request caused one or more limits to be exceeded. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeResourceExistsException for service response error code + // "ResourceExistsException". + // + // The resource you are trying to associate, has already been associated. + ErrCodeResourceExistsException = "ResourceExistsException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The resource you are associating is not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was throttled. Try again in a few minutes. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // You have provided an invalid command. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServiceErrorException": newErrorInternalServiceErrorException, + "InvalidNextTokenException": newErrorInvalidNextTokenException, + "InvalidParameterException": newErrorInvalidParameterException, + "LimitExceededException": newErrorLimitExceededException, + "ResourceExistsException": newErrorResourceExistsException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/route53profiles/route53profilesiface/interface.go b/service/route53profiles/route53profilesiface/interface.go new file mode 100644 index 00000000000..1b4976a71c9 --- /dev/null +++ b/service/route53profiles/route53profilesiface/interface.go @@ -0,0 +1,137 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package route53profilesiface provides an interface to enable mocking the Route 53 Profiles service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package route53profilesiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/route53profiles" +) + +// Route53ProfilesAPI provides an interface to enable mocking the +// route53profiles.Route53Profiles service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Route 53 Profiles. +// func myFunc(svc route53profilesiface.Route53ProfilesAPI) bool { +// // Make svc.AssociateProfile request +// } +// +// func main() { +// sess := session.New() +// svc := route53profiles.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockRoute53ProfilesClient struct { +// route53profilesiface.Route53ProfilesAPI +// } +// func (m *mockRoute53ProfilesClient) AssociateProfile(input *route53profiles.AssociateProfileInput) (*route53profiles.AssociateProfileOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockRoute53ProfilesClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type Route53ProfilesAPI interface { + AssociateProfile(*route53profiles.AssociateProfileInput) (*route53profiles.AssociateProfileOutput, error) + AssociateProfileWithContext(aws.Context, *route53profiles.AssociateProfileInput, ...request.Option) (*route53profiles.AssociateProfileOutput, error) + AssociateProfileRequest(*route53profiles.AssociateProfileInput) (*request.Request, *route53profiles.AssociateProfileOutput) + + AssociateResourceToProfile(*route53profiles.AssociateResourceToProfileInput) (*route53profiles.AssociateResourceToProfileOutput, error) + AssociateResourceToProfileWithContext(aws.Context, *route53profiles.AssociateResourceToProfileInput, ...request.Option) (*route53profiles.AssociateResourceToProfileOutput, error) + AssociateResourceToProfileRequest(*route53profiles.AssociateResourceToProfileInput) (*request.Request, *route53profiles.AssociateResourceToProfileOutput) + + CreateProfile(*route53profiles.CreateProfileInput) (*route53profiles.CreateProfileOutput, error) + CreateProfileWithContext(aws.Context, *route53profiles.CreateProfileInput, ...request.Option) (*route53profiles.CreateProfileOutput, error) + CreateProfileRequest(*route53profiles.CreateProfileInput) (*request.Request, *route53profiles.CreateProfileOutput) + + DeleteProfile(*route53profiles.DeleteProfileInput) (*route53profiles.DeleteProfileOutput, error) + DeleteProfileWithContext(aws.Context, *route53profiles.DeleteProfileInput, ...request.Option) (*route53profiles.DeleteProfileOutput, error) + DeleteProfileRequest(*route53profiles.DeleteProfileInput) (*request.Request, *route53profiles.DeleteProfileOutput) + + DisassociateProfile(*route53profiles.DisassociateProfileInput) (*route53profiles.DisassociateProfileOutput, error) + DisassociateProfileWithContext(aws.Context, *route53profiles.DisassociateProfileInput, ...request.Option) (*route53profiles.DisassociateProfileOutput, error) + DisassociateProfileRequest(*route53profiles.DisassociateProfileInput) (*request.Request, *route53profiles.DisassociateProfileOutput) + + DisassociateResourceFromProfile(*route53profiles.DisassociateResourceFromProfileInput) (*route53profiles.DisassociateResourceFromProfileOutput, error) + DisassociateResourceFromProfileWithContext(aws.Context, *route53profiles.DisassociateResourceFromProfileInput, ...request.Option) (*route53profiles.DisassociateResourceFromProfileOutput, error) + DisassociateResourceFromProfileRequest(*route53profiles.DisassociateResourceFromProfileInput) (*request.Request, *route53profiles.DisassociateResourceFromProfileOutput) + + GetProfile(*route53profiles.GetProfileInput) (*route53profiles.GetProfileOutput, error) + GetProfileWithContext(aws.Context, *route53profiles.GetProfileInput, ...request.Option) (*route53profiles.GetProfileOutput, error) + GetProfileRequest(*route53profiles.GetProfileInput) (*request.Request, *route53profiles.GetProfileOutput) + + GetProfileAssociation(*route53profiles.GetProfileAssociationInput) (*route53profiles.GetProfileAssociationOutput, error) + GetProfileAssociationWithContext(aws.Context, *route53profiles.GetProfileAssociationInput, ...request.Option) (*route53profiles.GetProfileAssociationOutput, error) + GetProfileAssociationRequest(*route53profiles.GetProfileAssociationInput) (*request.Request, *route53profiles.GetProfileAssociationOutput) + + GetProfileResourceAssociation(*route53profiles.GetProfileResourceAssociationInput) (*route53profiles.GetProfileResourceAssociationOutput, error) + GetProfileResourceAssociationWithContext(aws.Context, *route53profiles.GetProfileResourceAssociationInput, ...request.Option) (*route53profiles.GetProfileResourceAssociationOutput, error) + GetProfileResourceAssociationRequest(*route53profiles.GetProfileResourceAssociationInput) (*request.Request, *route53profiles.GetProfileResourceAssociationOutput) + + ListProfileAssociations(*route53profiles.ListProfileAssociationsInput) (*route53profiles.ListProfileAssociationsOutput, error) + ListProfileAssociationsWithContext(aws.Context, *route53profiles.ListProfileAssociationsInput, ...request.Option) (*route53profiles.ListProfileAssociationsOutput, error) + ListProfileAssociationsRequest(*route53profiles.ListProfileAssociationsInput) (*request.Request, *route53profiles.ListProfileAssociationsOutput) + + ListProfileAssociationsPages(*route53profiles.ListProfileAssociationsInput, func(*route53profiles.ListProfileAssociationsOutput, bool) bool) error + ListProfileAssociationsPagesWithContext(aws.Context, *route53profiles.ListProfileAssociationsInput, func(*route53profiles.ListProfileAssociationsOutput, bool) bool, ...request.Option) error + + ListProfileResourceAssociations(*route53profiles.ListProfileResourceAssociationsInput) (*route53profiles.ListProfileResourceAssociationsOutput, error) + ListProfileResourceAssociationsWithContext(aws.Context, *route53profiles.ListProfileResourceAssociationsInput, ...request.Option) (*route53profiles.ListProfileResourceAssociationsOutput, error) + ListProfileResourceAssociationsRequest(*route53profiles.ListProfileResourceAssociationsInput) (*request.Request, *route53profiles.ListProfileResourceAssociationsOutput) + + ListProfileResourceAssociationsPages(*route53profiles.ListProfileResourceAssociationsInput, func(*route53profiles.ListProfileResourceAssociationsOutput, bool) bool) error + ListProfileResourceAssociationsPagesWithContext(aws.Context, *route53profiles.ListProfileResourceAssociationsInput, func(*route53profiles.ListProfileResourceAssociationsOutput, bool) bool, ...request.Option) error + + ListProfiles(*route53profiles.ListProfilesInput) (*route53profiles.ListProfilesOutput, error) + ListProfilesWithContext(aws.Context, *route53profiles.ListProfilesInput, ...request.Option) (*route53profiles.ListProfilesOutput, error) + ListProfilesRequest(*route53profiles.ListProfilesInput) (*request.Request, *route53profiles.ListProfilesOutput) + + ListProfilesPages(*route53profiles.ListProfilesInput, func(*route53profiles.ListProfilesOutput, bool) bool) error + ListProfilesPagesWithContext(aws.Context, *route53profiles.ListProfilesInput, func(*route53profiles.ListProfilesOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*route53profiles.ListTagsForResourceInput) (*route53profiles.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *route53profiles.ListTagsForResourceInput, ...request.Option) (*route53profiles.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*route53profiles.ListTagsForResourceInput) (*request.Request, *route53profiles.ListTagsForResourceOutput) + + TagResource(*route53profiles.TagResourceInput) (*route53profiles.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *route53profiles.TagResourceInput, ...request.Option) (*route53profiles.TagResourceOutput, error) + TagResourceRequest(*route53profiles.TagResourceInput) (*request.Request, *route53profiles.TagResourceOutput) + + UntagResource(*route53profiles.UntagResourceInput) (*route53profiles.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *route53profiles.UntagResourceInput, ...request.Option) (*route53profiles.UntagResourceOutput, error) + UntagResourceRequest(*route53profiles.UntagResourceInput) (*request.Request, *route53profiles.UntagResourceOutput) + + UpdateProfileResourceAssociation(*route53profiles.UpdateProfileResourceAssociationInput) (*route53profiles.UpdateProfileResourceAssociationOutput, error) + UpdateProfileResourceAssociationWithContext(aws.Context, *route53profiles.UpdateProfileResourceAssociationInput, ...request.Option) (*route53profiles.UpdateProfileResourceAssociationOutput, error) + UpdateProfileResourceAssociationRequest(*route53profiles.UpdateProfileResourceAssociationInput) (*request.Request, *route53profiles.UpdateProfileResourceAssociationOutput) +} + +var _ Route53ProfilesAPI = (*route53profiles.Route53Profiles)(nil) diff --git a/service/route53profiles/service.go b/service/route53profiles/service.go new file mode 100644 index 00000000000..90685530e1d --- /dev/null +++ b/service/route53profiles/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package route53profiles + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// Route53Profiles provides the API operation methods for making requests to +// Route 53 Profiles. See this package's package overview docs +// for details on the service. +// +// Route53Profiles methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type Route53Profiles struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "Route53Profiles" // Name of service. + EndpointsID = "route53profiles" // ID to lookup a service endpoint with. + ServiceID = "Route53Profiles" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the Route53Profiles client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a Route53Profiles client from just a session. +// svc := route53profiles.New(mySession) +// +// // Create a Route53Profiles client with additional configuration +// svc := route53profiles.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *Route53Profiles { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "route53profiles" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *Route53Profiles { + svc := &Route53Profiles{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2018-05-10", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a Route53Profiles operation and runs any +// custom request initialization. +func (c *Route53Profiles) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 4e5b9060a17..2d02c6d72ba 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -51769,17 +51769,17 @@ func (s *DebugRuleEvaluationStatus) SetStatusDetails(v string) *DebugRuleEvaluat return s } -// A collection of default EBS storage settings that applies to private spaces -// created within a domain or user profile. +// A collection of default EBS storage settings that apply to spaces created +// within a domain or user profile. type DefaultEbsStorageSettings struct { _ struct{} `type:"structure"` - // The default size of the EBS storage volume for a private space. + // The default size of the EBS storage volume for a space. // // DefaultEbsVolumeSizeInGb is a required field DefaultEbsVolumeSizeInGb *int64 `min:"5" type:"integer" required:"true"` - // The maximum size of the EBS storage volume for a private space. + // The maximum size of the EBS storage volume for a space. // // MaximumEbsVolumeSizeInGb is a required field MaximumEbsVolumeSizeInGb *int64 `min:"5" type:"integer" required:"true"` @@ -51841,9 +51841,19 @@ func (s *DefaultEbsStorageSettings) SetMaximumEbsVolumeSizeInGb(v int64) *Defaul type DefaultSpaceSettings struct { _ struct{} `type:"structure"` + // The settings for assigning a custom file system to a domain. Permitted users + // can access this file system in Amazon SageMaker Studio. + CustomFileSystemConfigs []*CustomFileSystemConfig `type:"list"` + + // Details about the POSIX identity that is used for file system operations. + CustomPosixUserConfig *CustomPosixUserConfig `type:"structure"` + // The ARN of the execution role for the space. ExecutionRole *string `min:"20" type:"string"` + // The settings for the JupyterLab application. + JupyterLabAppSettings *JupyterLabAppSettings `type:"structure"` + // The JupyterServer app settings. JupyterServerAppSettings *JupyterServerAppSettings `type:"structure"` @@ -51852,6 +51862,9 @@ type DefaultSpaceSettings struct { // The security group IDs for the Amazon VPC that the space uses for communication. SecurityGroups []*string `type:"list"` + + // The default storage settings for a space. + SpaceStorageSettings *DefaultSpaceStorageSettings `type:"structure"` } // String returns the string representation. @@ -51878,6 +51891,26 @@ func (s *DefaultSpaceSettings) Validate() error { if s.ExecutionRole != nil && len(*s.ExecutionRole) < 20 { invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 20)) } + if s.CustomFileSystemConfigs != nil { + for i, v := range s.CustomFileSystemConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomFileSystemConfigs", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CustomPosixUserConfig != nil { + if err := s.CustomPosixUserConfig.Validate(); err != nil { + invalidParams.AddNested("CustomPosixUserConfig", err.(request.ErrInvalidParams)) + } + } + if s.JupyterLabAppSettings != nil { + if err := s.JupyterLabAppSettings.Validate(); err != nil { + invalidParams.AddNested("JupyterLabAppSettings", err.(request.ErrInvalidParams)) + } + } if s.JupyterServerAppSettings != nil { if err := s.JupyterServerAppSettings.Validate(); err != nil { invalidParams.AddNested("JupyterServerAppSettings", err.(request.ErrInvalidParams)) @@ -51888,6 +51921,11 @@ func (s *DefaultSpaceSettings) Validate() error { invalidParams.AddNested("KernelGatewayAppSettings", err.(request.ErrInvalidParams)) } } + if s.SpaceStorageSettings != nil { + if err := s.SpaceStorageSettings.Validate(); err != nil { + invalidParams.AddNested("SpaceStorageSettings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -51895,12 +51933,30 @@ func (s *DefaultSpaceSettings) Validate() error { return nil } +// SetCustomFileSystemConfigs sets the CustomFileSystemConfigs field's value. +func (s *DefaultSpaceSettings) SetCustomFileSystemConfigs(v []*CustomFileSystemConfig) *DefaultSpaceSettings { + s.CustomFileSystemConfigs = v + return s +} + +// SetCustomPosixUserConfig sets the CustomPosixUserConfig field's value. +func (s *DefaultSpaceSettings) SetCustomPosixUserConfig(v *CustomPosixUserConfig) *DefaultSpaceSettings { + s.CustomPosixUserConfig = v + return s +} + // SetExecutionRole sets the ExecutionRole field's value. func (s *DefaultSpaceSettings) SetExecutionRole(v string) *DefaultSpaceSettings { s.ExecutionRole = &v return s } +// SetJupyterLabAppSettings sets the JupyterLabAppSettings field's value. +func (s *DefaultSpaceSettings) SetJupyterLabAppSettings(v *JupyterLabAppSettings) *DefaultSpaceSettings { + s.JupyterLabAppSettings = v + return s +} + // SetJupyterServerAppSettings sets the JupyterServerAppSettings field's value. func (s *DefaultSpaceSettings) SetJupyterServerAppSettings(v *JupyterServerAppSettings) *DefaultSpaceSettings { s.JupyterServerAppSettings = v @@ -51919,11 +51975,17 @@ func (s *DefaultSpaceSettings) SetSecurityGroups(v []*string) *DefaultSpaceSetti return s } -// The default storage settings for a private space. +// SetSpaceStorageSettings sets the SpaceStorageSettings field's value. +func (s *DefaultSpaceSettings) SetSpaceStorageSettings(v *DefaultSpaceStorageSettings) *DefaultSpaceSettings { + s.SpaceStorageSettings = v + return s +} + +// The default storage settings for a space. type DefaultSpaceStorageSettings struct { _ struct{} `type:"structure"` - // The default EBS storage settings for a private space. + // The default EBS storage settings for a space. DefaultEbsStorageSettings *DefaultEbsStorageSettings `type:"structure"` } @@ -70227,11 +70289,12 @@ func (s *EMRStepMetadata) SetStepName(v string) *EMRStepMetadata { return s } -// A collection of EBS storage settings that applies to private spaces. +// A collection of EBS storage settings that apply to both private and shared +// spaces. type EbsStorageSettings struct { _ struct{} `type:"structure"` - // The size of an EBS storage volume for a private space. + // The size of an EBS storage volume for a space. // // EbsVolumeSizeInGb is a required field EbsVolumeSizeInGb *int64 `min:"5" type:"integer" required:"true"` @@ -102060,7 +102123,7 @@ func (s *OutputParameter) SetValue(v string) *OutputParameter { type OwnershipSettings struct { _ struct{} `type:"structure"` - // The user profile who is the owner of the private space. + // The user profile who is the owner of the space. // // OwnerUserProfileName is a required field OwnerUserProfileName *string `type:"string" required:"true"` @@ -102107,7 +102170,7 @@ func (s *OwnershipSettings) SetOwnerUserProfileName(v string) *OwnershipSettings type OwnershipSettingsSummary struct { _ struct{} `type:"structure"` - // The user profile who is the owner of the private space. + // The user profile who is the owner of the space. OwnerUserProfileName *string `type:"string"` } @@ -112484,7 +112547,7 @@ type SpaceSettings struct { // The KernelGateway app settings. KernelGatewayAppSettings *KernelGatewayAppSettings `type:"structure"` - // The storage settings for a private space. + // The storage settings for a space. SpaceStorageSettings *SpaceStorageSettings `type:"structure"` } @@ -112600,7 +112663,7 @@ type SpaceSettingsSummary struct { // The type of app created within the space. AppType *string `type:"string" enum:"AppType"` - // The storage settings for a private space. + // The storage settings for a space. SpaceStorageSettings *SpaceStorageSettings `type:"structure"` } @@ -112713,11 +112776,11 @@ func (s *SpaceSharingSettingsSummary) SetSharingType(v string) *SpaceSharingSett return s } -// The storage settings for a private space. +// The storage settings for a space. type SpaceStorageSettings struct { _ struct{} `type:"structure"` - // A collection of EBS storage settings for a private space. + // A collection of EBS storage settings for a space. EbsStorageSettings *EbsStorageSettings `type:"structure"` } @@ -124930,7 +124993,7 @@ type UserSettings struct { // Specifies options for sharing Amazon SageMaker Studio notebooks. SharingSettings *SharingSettings `type:"structure"` - // The storage settings for a private space. + // The storage settings for a space. SpaceStorageSettings *DefaultSpaceStorageSettings `type:"structure"` // Whether the user can access Studio. If this value is set to DISABLED, the diff --git a/service/servicediscovery/api.go b/service/servicediscovery/api.go index 35ecce108b2..4cc27509ec8 100644 --- a/service/servicediscovery/api.go +++ b/service/servicediscovery/api.go @@ -1865,7 +1865,7 @@ func (c *ServiceDiscovery) ListServicesRequest(input *ListServicesInput) (req *r // ListServices API operation for AWS Cloud Map. // // Lists summary information for all the services that are associated with one -// or more specified namespaces. +// or more namespaces. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3778,7 +3778,9 @@ type DiscoverInstancesInput struct { MaxResults *int64 `min:"1" type:"integer"` // The HttpName name of the namespace. It's found in the HttpProperties member - // of the Properties member of the namespace. + // of the Properties member of the namespace. In most cases, Name and HttpName + // match. However, if you reuse Name for namespace creation, a generated hash + // is added to HttpName to distinguish the two. // // NamespaceName is a required field NamespaceName *string `type:"string" required:"true"` @@ -7711,7 +7713,7 @@ type RegisterInstanceInput struct { // Do not include sensitive information in the attributes if the namespace is // discoverable by public DNS queries. // - // Supported attribute keys include the following: + // The following are the supported attribute keys. // // AWS_ALIAS_DNS_NAME // @@ -7740,6 +7742,8 @@ type RegisterInstanceInput struct { // * If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values // for any of the AWS_INSTANCE attributes. // + // * The AWS_ALIAS_DNS_NAME is not supported in the GovCloud (US) Regions. + // // AWS_EC2_INSTANCE_ID // // HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the diff --git a/service/servicediscovery/examples_test.go b/service/servicediscovery/examples_test.go index 3c4b2dd3032..fcbe555820f 100644 --- a/service/servicediscovery/examples_test.go +++ b/service/servicediscovery/examples_test.go @@ -327,6 +327,41 @@ func ExampleServiceDiscovery_DiscoverInstances_shared00() { fmt.Println(result) } +// To discover the revision for a registered instance +// The following example discovers the revision ID for a registered instance. +func ExampleServiceDiscovery_DiscoverInstancesRevision_shared00() { + svc := servicediscovery.New(session.New()) + input := &servicediscovery.DiscoverInstancesRevisionInput{ + NamespaceName: aws.String("example-namespace"), + ServiceName: aws.String("example-service"), + } + + result, err := svc.DiscoverInstancesRevision(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case servicediscovery.ErrCodeServiceNotFound: + fmt.Println(servicediscovery.ErrCodeServiceNotFound, aerr.Error()) + case servicediscovery.ErrCodeNamespaceNotFound: + fmt.Println(servicediscovery.ErrCodeNamespaceNotFound, aerr.Error()) + case servicediscovery.ErrCodeInvalidInput: + fmt.Println(servicediscovery.ErrCodeInvalidInput, aerr.Error()) + case servicediscovery.ErrCodeRequestLimitExceeded: + fmt.Println(servicediscovery.ErrCodeRequestLimitExceeded, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // GetInstance example // This example gets information about a specified instance. func ExampleServiceDiscovery_GetInstance_shared00() { @@ -750,6 +785,43 @@ func ExampleServiceDiscovery_UntagResource_shared00() { fmt.Println(result) } +// To update a HTTP namespace +// The following example updates the description of a HTTP namespace. +func ExampleServiceDiscovery_UpdateHttpNamespace_shared00() { + svc := servicediscovery.New(session.New()) + input := &servicediscovery.UpdateHttpNamespaceInput{ + Id: aws.String("ns-vh4nbmEXAMPLE"), + Namespace: &servicediscovery.HttpNamespaceChange{ + Description: aws.String("The updated namespace description."), + }, + } + + result, err := svc.UpdateHttpNamespace(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case servicediscovery.ErrCodeInvalidInput: + fmt.Println(servicediscovery.ErrCodeInvalidInput, aerr.Error()) + case servicediscovery.ErrCodeNamespaceNotFound: + fmt.Println(servicediscovery.ErrCodeNamespaceNotFound, aerr.Error()) + case servicediscovery.ErrCodeResourceInUse: + fmt.Println(servicediscovery.ErrCodeResourceInUse, aerr.Error()) + case servicediscovery.ErrCodeDuplicateRequest: + fmt.Println(servicediscovery.ErrCodeDuplicateRequest, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // UpdateInstanceCustomHealthStatus Example // This example submits a request to change the health status of an instance associated // with a service with a custom health check to HEALTHY. @@ -787,6 +859,82 @@ func ExampleServiceDiscovery_UpdateInstanceCustomHealthStatus_shared00() { fmt.Println(result) } +// To update a private DNS namespace +// The following example updates the description of a private DNS namespace. +func ExampleServiceDiscovery_UpdatePrivateDnsNamespace_shared00() { + svc := servicediscovery.New(session.New()) + input := &servicediscovery.UpdatePrivateDnsNamespaceInput{ + Id: aws.String("ns-bk3aEXAMPLE"), + Namespace: &servicediscovery.PrivateDnsNamespaceChange{ + Description: aws.String("The updated namespace description."), + }, + UpdaterRequestId: aws.String(""), + } + + result, err := svc.UpdatePrivateDnsNamespace(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case servicediscovery.ErrCodeInvalidInput: + fmt.Println(servicediscovery.ErrCodeInvalidInput, aerr.Error()) + case servicediscovery.ErrCodeNamespaceNotFound: + fmt.Println(servicediscovery.ErrCodeNamespaceNotFound, aerr.Error()) + case servicediscovery.ErrCodeResourceInUse: + fmt.Println(servicediscovery.ErrCodeResourceInUse, aerr.Error()) + case servicediscovery.ErrCodeDuplicateRequest: + fmt.Println(servicediscovery.ErrCodeDuplicateRequest, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// To update a public DNS namespace +// The following example updates the description of a public DNS namespace. +func ExampleServiceDiscovery_UpdatePrivateDnsNamespace_shared01() { + svc := servicediscovery.New(session.New()) + input := &servicediscovery.UpdatePrivateDnsNamespaceInput{ + Id: aws.String("ns-bk3aEXAMPLE"), + Namespace: &servicediscovery.PrivateDnsNamespaceChange{ + Description: aws.String("The updated namespace description."), + }, + UpdaterRequestId: aws.String(""), + } + + result, err := svc.UpdatePrivateDnsNamespace(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case servicediscovery.ErrCodeInvalidInput: + fmt.Println(servicediscovery.ErrCodeInvalidInput, aerr.Error()) + case servicediscovery.ErrCodeNamespaceNotFound: + fmt.Println(servicediscovery.ErrCodeNamespaceNotFound, aerr.Error()) + case servicediscovery.ErrCodeResourceInUse: + fmt.Println(servicediscovery.ErrCodeResourceInUse, aerr.Error()) + case servicediscovery.ErrCodeDuplicateRequest: + fmt.Println(servicediscovery.ErrCodeDuplicateRequest, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + // UpdateService Example // This example submits a request to replace the DnsConfig and HealthCheckConfig settings // of a specified service. diff --git a/service/transfer/api.go b/service/transfer/api.go index 95dd2f2f86e..59bf49dc064 100644 --- a/service/transfer/api.go +++ b/service/transfer/api.go @@ -4800,6 +4800,132 @@ func (c *Transfer) SendWorkflowStepStateWithContext(ctx aws.Context, input *Send return out, req.Send() } +const opStartDirectoryListing = "StartDirectoryListing" + +// StartDirectoryListingRequest generates a "aws/request.Request" representing the +// client's request for the StartDirectoryListing operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See StartDirectoryListing for more information on using the StartDirectoryListing +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the StartDirectoryListingRequest method. +// req, resp := client.StartDirectoryListingRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartDirectoryListing +func (c *Transfer) StartDirectoryListingRequest(input *StartDirectoryListingInput) (req *request.Request, output *StartDirectoryListingOutput) { + op := &request.Operation{ + Name: opStartDirectoryListing, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartDirectoryListingInput{} + } + + output = &StartDirectoryListingOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartDirectoryListing API operation for AWS Transfer Family. +// +// Retrieves a list of the contents of a directory from a remote SFTP server. +// You specify the connector ID, the output path, and the remote directory path. +// You can also specify the optional MaxItems value to control the maximum number +// of items that are listed from the remote directory. This API returns a list +// of all files and directories in the remote directory (up to the maximum value), +// but does not return files or folders in sub-directories. That is, it only +// returns a list of files and directories one-level deep. +// +// After you receive the listing file, you can provide the files that you want +// to transfer to the RetrieveFilePaths parameter of the StartFileTransfer API +// call. +// +// The naming convention for the output file is connector-ID-listing-ID.json. +// The output file contains the following information: +// +// - filePath: the complete path of a remote file, relative to the directory +// of the listing request for your SFTP connector on the remote server. +// +// - modifiedTimestamp: the last time the file was modified, in UTC time +// format. This field is optional. If the remote file attributes don't contain +// a timestamp, it is omitted from the file listing. +// +// - size: the size of the file, in bytes. This field is optional. If the +// remote file attributes don't contain a file size, it is omitted from the +// file listing. +// +// - path: the complete path of a remote directory, relative to the directory +// of the listing request for your SFTP connector on the remote server. +// +// - truncated: a flag indicating whether the list output contains all of +// the items contained in the remote directory or not. If your Truncated +// output value is true, you can increase the value provided in the optional +// max-items input attribute to be able to list more items (up to the maximum +// allowed list size of 10,000 items). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation StartDirectoryListing for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// This exception is thrown when a resource is not found by the Amazon Web ServicesTransfer +// Family service. +// +// - InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - InternalServiceError +// This exception is thrown when an error occurs in the Transfer Family service. +// +// - ServiceUnavailableException +// The request has failed because the Amazon Web ServicesTransfer Family service +// is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartDirectoryListing +func (c *Transfer) StartDirectoryListing(input *StartDirectoryListingInput) (*StartDirectoryListingOutput, error) { + req, out := c.StartDirectoryListingRequest(input) + return out, req.Send() +} + +// StartDirectoryListingWithContext is the same as StartDirectoryListing with the addition of +// the ability to pass a context and additional request options. +// +// See StartDirectoryListing for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Transfer) StartDirectoryListingWithContext(ctx aws.Context, input *StartDirectoryListingInput, opts ...request.Option) (*StartDirectoryListingOutput, error) { + req, out := c.StartDirectoryListingRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartFileTransfer = "StartFileTransfer" // StartFileTransferRequest generates a "aws/request.Request" representing the @@ -4853,7 +4979,7 @@ func (c *Transfer) StartFileTransferRequest(input *StartFileTransferInput) (req // In both cases, you specify the ConnectorId. Depending on the direction // of the transfer, you also specify the following items: If you are transferring // file from a partner's SFTP server to Amazon Web Services storage, you -// specify one or more RetreiveFilePaths to identify the files you want to +// specify one or more RetrieveFilePaths to identify the files you want to // transfer, and a LocalDirectoryPath to specify the destination folder. // If you are transferring file to a partner's SFTP server from Amazon Web // Services storage, you specify one or more SendFilePaths to identify the @@ -10917,13 +11043,7 @@ type DescribedCertificate struct { // If there is no private key, the type is CERTIFICATE. Type *string `type:"string" enum:"CertificateType"` - // Specifies how this certificate is used. It can be used in the following ways: - // - // * SIGNING: For signing AS2 messages - // - // * ENCRYPTION: For encrypting AS2 messages - // - // * TLS: For securing AS2 communications sent over HTTPS + // Specifies whether this certificate is used for signing or encryption. Usage *string `type:"string" enum:"CertificateUsageType"` } @@ -12828,13 +12948,7 @@ type ImportCertificateInput struct { // Key-value pairs that can be used to group and search for certificates. Tags []*Tag `min:"1" type:"list"` - // Specifies how this certificate is used. It can be used in the following ways: - // - // * SIGNING: For signing AS2 messages - // - // * ENCRYPTION: For encrypting AS2 messages - // - // * TLS: For securing AS2 communications sent over HTTPS + // Specifies whether this certificate is used for signing or encryption. // // Usage is a required field Usage *string `type:"string" required:"true" enum:"CertificateUsageType"` @@ -15143,13 +15257,7 @@ type ListedCertificate struct { // key, the type is CERTIFICATE. Type *string `type:"string" enum:"CertificateType"` - // Specifies how this certificate is used. It can be used in the following ways: - // - // * SIGNING: For signing AS2 messages - // - // * ENCRYPTION: For encrypting AS2 messages - // - // * TLS: For securing AS2 communications sent over HTTPS + // Specifies whether this certificate is used for signing or encryption. Usage *string `type:"string" enum:"CertificateUsageType"` } @@ -16785,6 +16893,149 @@ func (s *SshPublicKey) SetSshPublicKeyId(v string) *SshPublicKey { return s } +type StartDirectoryListingInput struct { + _ struct{} `type:"structure"` + + // The unique identifier for the connector. + // + // ConnectorId is a required field + ConnectorId *string `min:"19" type:"string" required:"true"` + + // An optional parameter where you can specify the maximum number of file/directory + // names to retrieve. The default value is 1,000. + MaxItems *int64 `min:"1" type:"integer"` + + // Specifies the path (bucket and prefix) in Amazon S3 storage to store the + // results of the directory listing. + // + // OutputDirectoryPath is a required field + OutputDirectoryPath *string `min:"1" type:"string" required:"true"` + + // Specifies the directory on the remote SFTP server for which you want to list + // its contents. + // + // RemoteDirectoryPath is a required field + RemoteDirectoryPath *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartDirectoryListingInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartDirectoryListingInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartDirectoryListingInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartDirectoryListingInput"} + if s.ConnectorId == nil { + invalidParams.Add(request.NewErrParamRequired("ConnectorId")) + } + if s.ConnectorId != nil && len(*s.ConnectorId) < 19 { + invalidParams.Add(request.NewErrParamMinLen("ConnectorId", 19)) + } + if s.MaxItems != nil && *s.MaxItems < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxItems", 1)) + } + if s.OutputDirectoryPath == nil { + invalidParams.Add(request.NewErrParamRequired("OutputDirectoryPath")) + } + if s.OutputDirectoryPath != nil && len(*s.OutputDirectoryPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputDirectoryPath", 1)) + } + if s.RemoteDirectoryPath == nil { + invalidParams.Add(request.NewErrParamRequired("RemoteDirectoryPath")) + } + if s.RemoteDirectoryPath != nil && len(*s.RemoteDirectoryPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RemoteDirectoryPath", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConnectorId sets the ConnectorId field's value. +func (s *StartDirectoryListingInput) SetConnectorId(v string) *StartDirectoryListingInput { + s.ConnectorId = &v + return s +} + +// SetMaxItems sets the MaxItems field's value. +func (s *StartDirectoryListingInput) SetMaxItems(v int64) *StartDirectoryListingInput { + s.MaxItems = &v + return s +} + +// SetOutputDirectoryPath sets the OutputDirectoryPath field's value. +func (s *StartDirectoryListingInput) SetOutputDirectoryPath(v string) *StartDirectoryListingInput { + s.OutputDirectoryPath = &v + return s +} + +// SetRemoteDirectoryPath sets the RemoteDirectoryPath field's value. +func (s *StartDirectoryListingInput) SetRemoteDirectoryPath(v string) *StartDirectoryListingInput { + s.RemoteDirectoryPath = &v + return s +} + +type StartDirectoryListingOutput struct { + _ struct{} `type:"structure"` + + // Returns a unique identifier for the directory listing call. + // + // ListingId is a required field + ListingId *string `min:"1" type:"string" required:"true"` + + // Returns the file name where the results are stored. This is a combination + // of the connector ID and the listing ID: