diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cac9a712dc..87a327fda9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.42.41 (2022-01-25) +=== + +### Service Client Updates +* `service/connect`: Updates service API, documentation, and paginators +* `service/elasticfilesystem`: Updates service API and documentation + * Use Amazon EFS Replication to replicate your Amazon EFS file system in the AWS Region of your preference. +* `service/fsx`: Updates service API and documentation +* `service/guardduty`: Updates service API and documentation + * Amazon GuardDuty expands threat detection coverage to protect Amazon Elastic Kubernetes Service (EKS) workloads. + Release v1.42.40 (2022-01-24) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 983cac3bc3e..6b0487ae899 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -9659,6 +9659,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -10808,6 +10811,9 @@ var awsPartition = partition{ }, "kafka": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, endpointKey{ Region: "ap-east-1", }: endpoint{}, @@ -10817,6 +10823,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, diff --git a/aws/version.go b/aws/version.go index 07b1c9a330d..7aa4e7f9878 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.42.40" +const SDKVersion = "1.42.41" diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index 9cae73d5dba..4a5b71c3281 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -47,6 +47,22 @@ {"shape":"ThrottlingException"} ] }, + "AssociateDefaultVocabulary":{ + "name":"AssociateDefaultVocabulary", + "http":{ + "method":"PUT", + "requestUri":"/default-vocabulary/{InstanceId}/{LanguageCode}" + }, + "input":{"shape":"AssociateDefaultVocabularyRequest"}, + "output":{"shape":"AssociateDefaultVocabularyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "AssociateInstanceStorageConfig":{ "name":"AssociateInstanceStorageConfig", "http":{ @@ -379,6 +395,24 @@ {"shape":"InternalServiceException"} ] }, + "CreateVocabulary":{ + "name":"CreateVocabulary", + "http":{ + "method":"POST", + "requestUri":"/vocabulary/{InstanceId}" + }, + "input":{"shape":"CreateVocabularyRequest"}, + "output":{"shape":"CreateVocabularyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ] + }, "DeleteContactFlow":{ "name":"DeleteContactFlow", "http":{ @@ -531,6 +565,23 @@ {"shape":"InternalServiceException"} ] }, + "DeleteVocabulary":{ + "name":"DeleteVocabulary", + "http":{ + "method":"POST", + "requestUri":"/vocabulary-remove/{InstanceId}/{VocabularyId}" + }, + "input":{"shape":"DeleteVocabularyRequest"}, + "output":{"shape":"DeleteVocabularyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceInUseException"} + ] + }, "DescribeAgentStatus":{ "name":"DescribeAgentStatus", "http":{ @@ -771,6 +822,22 @@ {"shape":"InternalServiceException"} ] }, + "DescribeVocabulary":{ + "name":"DescribeVocabulary", + "http":{ + "method":"GET", + "requestUri":"/vocabulary/{InstanceId}/{VocabularyId}" + }, + "input":{"shape":"DescribeVocabularyRequest"}, + "output":{"shape":"DescribeVocabularyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "DisassociateApprovedOrigin":{ "name":"DisassociateApprovedOrigin", "http":{ @@ -1049,6 +1116,21 @@ {"shape":"ThrottlingException"} ] }, + "ListDefaultVocabularies":{ + "name":"ListDefaultVocabularies", + "http":{ + "method":"POST", + "requestUri":"/default-vocabulary-summary/{InstanceId}" + }, + "input":{"shape":"ListDefaultVocabulariesRequest"}, + "output":{"shape":"ListDefaultVocabulariesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListHoursOfOperations":{ "name":"ListHoursOfOperations", "http":{ @@ -1394,6 +1476,21 @@ {"shape":"InternalServiceException"} ] }, + "SearchVocabularies":{ + "name":"SearchVocabularies", + "http":{ + "method":"POST", + "requestUri":"/vocabulary-summary/{InstanceId}" + }, + "input":{"shape":"SearchVocabulariesRequest"}, + "output":{"shape":"SearchVocabulariesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "StartChatContact":{ "name":"StartChatContact", "http":{ @@ -2192,6 +2289,31 @@ "LexV2Bot":{"shape":"LexV2Bot"} } }, + "AssociateDefaultVocabularyRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "LanguageCode" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "LanguageCode":{ + "shape":"VocabularyLanguageCode", + "location":"uri", + "locationName":"LanguageCode" + }, + "VocabularyId":{"shape":"VocabularyId"} + } + }, + "AssociateDefaultVocabularyResponse":{ + "type":"structure", + "members":{ + } + }, "AssociateInstanceStorageConfigRequest":{ "type":"structure", "required":[ @@ -2974,6 +3096,43 @@ "UserArn":{"shape":"ARN"} } }, + "CreateVocabularyRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "VocabularyName", + "LanguageCode", + "Content" + ], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "VocabularyName":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"VocabularyLanguageCode"}, + "Content":{"shape":"VocabularyContent"}, + "Tags":{"shape":"TagMap"} + } + }, + "CreateVocabularyResponse":{ + "type":"structure", + "required":[ + "VocabularyArn", + "VocabularyId", + "State" + ], + "members":{ + "VocabularyArn":{"shape":"ARN"}, + "VocabularyId":{"shape":"VocabularyId"}, + "State":{"shape":"VocabularyState"} + } + }, "Credentials":{ "type":"structure", "members":{ @@ -3037,6 +3196,25 @@ "type":"list", "member":{"shape":"CurrentMetric"} }, + "DefaultVocabulary":{ + "type":"structure", + "required":[ + "InstanceId", + "LanguageCode", + "VocabularyId", + "VocabularyName" + ], + "members":{ + "InstanceId":{"shape":"InstanceId"}, + "LanguageCode":{"shape":"VocabularyLanguageCode"}, + "VocabularyId":{"shape":"VocabularyId"}, + "VocabularyName":{"shape":"VocabularyName"} + } + }, + "DefaultVocabularyList":{ + "type":"list", + "member":{"shape":"DefaultVocabulary"} + }, "Delay":{ "type":"integer", "max":9999, @@ -3235,6 +3413,38 @@ } } }, + "DeleteVocabularyRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "VocabularyId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "VocabularyId":{ + "shape":"VocabularyId", + "location":"uri", + "locationName":"VocabularyId" + } + } + }, + "DeleteVocabularyResponse":{ + "type":"structure", + "required":[ + "VocabularyArn", + "VocabularyId", + "State" + ], + "members":{ + "VocabularyArn":{"shape":"ARN"}, + "VocabularyId":{"shape":"VocabularyId"}, + "State":{"shape":"VocabularyState"} + } + }, "DescribeAgentStatusRequest":{ "type":"structure", "required":[ @@ -3600,6 +3810,32 @@ "User":{"shape":"User"} } }, + "DescribeVocabularyRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "VocabularyId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "VocabularyId":{ + "shape":"VocabularyId", + "location":"uri", + "locationName":"VocabularyId" + } + } + }, + "DescribeVocabularyResponse":{ + "type":"structure", + "required":["Vocabulary"], + "members":{ + "Vocabulary":{"shape":"Vocabulary"} + } + }, "Description":{ "type":"string", "max":4096, @@ -4660,6 +4896,28 @@ "NextToken":{"shape":"NextToken"} } }, + "ListDefaultVocabulariesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "LanguageCode":{"shape":"VocabularyLanguageCode"}, + "MaxResults":{"shape":"MaxResult100"}, + "NextToken":{"shape":"VocabularyNextToken"} + } + }, + "ListDefaultVocabulariesResponse":{ + "type":"structure", + "required":["DefaultVocabularyList"], + "members":{ + "DefaultVocabularyList":{"shape":"DefaultVocabularyList"}, + "NextToken":{"shape":"VocabularyNextToken"} + } + }, "ListHoursOfOperationsRequest":{ "type":"structure", "required":["InstanceId"], @@ -6147,6 +6405,29 @@ "EncryptionConfig":{"shape":"EncryptionConfig"} } }, + "SearchVocabulariesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "location":"uri", + "locationName":"InstanceId" + }, + "MaxResults":{"shape":"MaxResult100"}, + "NextToken":{"shape":"VocabularyNextToken"}, + "State":{"shape":"VocabularyState"}, + "NameStartsWith":{"shape":"VocabularyName"}, + "LanguageCode":{"shape":"VocabularyLanguageCode"} + } + }, + "SearchVocabulariesResponse":{ + "type":"structure", + "members":{ + "VocabularySummaryList":{"shape":"VocabularySummaryList"}, + "NextToken":{"shape":"VocabularyNextToken"} + } + }, "SecurityKey":{ "type":"structure", "members":{ @@ -7328,6 +7609,111 @@ "member":{"shape":"UserSummary"} }, "Value":{"type":"double"}, + "Vocabulary":{ + "type":"structure", + "required":[ + "Name", + "Id", + "Arn", + "LanguageCode", + "State", + "LastModifiedTime" + ], + "members":{ + "Name":{"shape":"VocabularyName"}, + "Id":{"shape":"VocabularyId"}, + "Arn":{"shape":"ARN"}, + "LanguageCode":{"shape":"VocabularyLanguageCode"}, + "State":{"shape":"VocabularyState"}, + "LastModifiedTime":{"shape":"VocabularyLastModifiedTime"}, + "FailureReason":{"shape":"VocabularyFailureReason"}, + "Content":{"shape":"VocabularyContent"}, + "Tags":{"shape":"TagMap"} + } + }, + "VocabularyContent":{ + "type":"string", + "max":60000, + "min":1 + }, + "VocabularyFailureReason":{"type":"string"}, + "VocabularyId":{ + "type":"string", + "max":500, + "min":1 + }, + "VocabularyLanguageCode":{ + "type":"string", + "enum":[ + "ar-AE", + "de-CH", + "de-DE", + "en-AB", + "en-AU", + "en-GB", + "en-IE", + "en-IN", + "en-US", + "en-WL", + "es-ES", + "es-US", + "fr-CA", + "fr-FR", + "hi-IN", + "it-IT", + "ja-JP", + "ko-KR", + "pt-BR", + "pt-PT", + "zh-CN" + ] + }, + "VocabularyLastModifiedTime":{"type":"timestamp"}, + "VocabularyName":{ + "type":"string", + "max":140, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "VocabularyNextToken":{ + "type":"string", + "max":131070, + "min":1, + "pattern":".*\\S.*" + }, + "VocabularyState":{ + "type":"string", + "enum":[ + "CREATION_IN_PROGRESS", + "ACTIVE", + "CREATION_FAILED", + "DELETE_IN_PROGRESS" + ] + }, + "VocabularySummary":{ + "type":"structure", + "required":[ + "Name", + "Id", + "Arn", + "LanguageCode", + "State", + "LastModifiedTime" + ], + "members":{ + "Name":{"shape":"VocabularyName"}, + "Id":{"shape":"VocabularyId"}, + "Arn":{"shape":"ARN"}, + "LanguageCode":{"shape":"VocabularyLanguageCode"}, + "State":{"shape":"VocabularyState"}, + "LastModifiedTime":{"shape":"VocabularyLastModifiedTime"}, + "FailureReason":{"shape":"VocabularyFailureReason"} + } + }, + "VocabularySummaryList":{ + "type":"list", + "member":{"shape":"VocabularySummary"} + }, "VoiceRecordingConfiguration":{ "type":"structure", "members":{ diff --git a/models/apis/connect/2017-08-08/docs-2.json b/models/apis/connect/2017-08-08/docs-2.json index c054aa38b66..67e2341e027 100644 --- a/models/apis/connect/2017-08-08/docs-2.json +++ b/models/apis/connect/2017-08-08/docs-2.json @@ -4,6 +4,7 @@ "operations": { "AssociateApprovedOrigin": "

This API is in preview release for Amazon Connect and is subject to change.

Associates an approved origin to an Amazon Connect instance.

", "AssociateBot": "

This API is in preview release for Amazon Connect and is subject to change.

Allows the specified Amazon Connect instance to access the specified Amazon Lex or Amazon Lex V2 bot.

", + "AssociateDefaultVocabulary": "

Associates an existing vocabulary as the default. Contact Lens for Amazon Connect uses the vocabulary in post-call and real-time analysis sessions for the given language.

", "AssociateInstanceStorageConfig": "

This API is in preview release for Amazon Connect and is subject to change.

Associates a storage resource type for the first time. You can only associate one type of storage configuration in a single call. This means, for example, that you can't define an instance with multiple S3 buckets for storing chat transcripts.

This API does not create a resource that doesn't exist. It only associates it to the instance. Ensure that the resource being specified in the storage configuration, like an S3 bucket, exists when being used for association.

", "AssociateLambdaFunction": "

This API is in preview release for Amazon Connect and is subject to change.

Allows the specified Amazon Connect instance to access the specified Lambda function.

", "AssociateLexBot": "

This API is in preview release for Amazon Connect and is subject to change.

Allows the specified Amazon Connect instance to access the specified Amazon Lex bot.

", @@ -23,6 +24,7 @@ "CreateUseCase": "

Creates a use case for an integration association.

", "CreateUser": "

Creates a user account for the specified Amazon Connect instance.

For information about how to create user accounts using the Amazon Connect console, see Add Users in the Amazon Connect Administrator Guide.

", "CreateUserHierarchyGroup": "

Creates a new user hierarchy group.

", + "CreateVocabulary": "

Creates a custom vocabulary associated with your Amazon Connect instance. You can set a custom vocabulary to be your default vocabulary for a given language. Contact Lens for Amazon Connect uses the default vocabulary in post-call and real-time contact analysis sessions for that language.

", "DeleteContactFlow": "

Deletes a contact flow for the specified Amazon Connect instance.

", "DeleteContactFlowModule": "

Deletes the specified contact flow module.

", "DeleteHoursOfOperation": "

This API is in preview release for Amazon Connect and is subject to change.

Deletes an hours of operation.

", @@ -33,6 +35,7 @@ "DeleteUseCase": "

Deletes a use case from an integration association.

", "DeleteUser": "

Deletes a user account from the specified Amazon Connect instance.

For information about what happens to a user's data when their account is deleted, see Delete Users from Your Amazon Connect Instance in the Amazon Connect Administrator Guide.

", "DeleteUserHierarchyGroup": "

Deletes an existing user hierarchy group. It must not be associated with any agents or have any active child groups.

", + "DeleteVocabulary": "

Deletes the vocabulary that has the given identifier.

", "DescribeAgentStatus": "

This API is in preview release for Amazon Connect and is subject to change.

Describes an agent status.

", "DescribeContact": "

This API is in preview release for Amazon Connect and is subject to change.

Describes the specified contact.

Contact information remains available in Amazon Connect for 24 months, and then it is deleted.

", "DescribeContactFlow": "

Describes the specified contact flow.

You can also create and update contact flows using the Amazon Connect Flow language.

", @@ -48,6 +51,7 @@ "DescribeUser": "

Describes the specified user account. You can find the instance ID in the console (it’s the final part of the ARN). The console does not display the user IDs. Instead, list the users and note the IDs provided in the output.

", "DescribeUserHierarchyGroup": "

Describes the specified hierarchy group.

", "DescribeUserHierarchyStructure": "

Describes the hierarchy structure of the specified Amazon Connect instance.

", + "DescribeVocabulary": "

Describes the specified vocabulary.

", "DisassociateApprovedOrigin": "

This API is in preview release for Amazon Connect and is subject to change.

Revokes access to integrated applications from Amazon Connect.

", "DisassociateBot": "

This API is in preview release for Amazon Connect and is subject to change.

Revokes authorization from the specified instance to access the specified Amazon Lex or Amazon Lex V2 bot.

", "DisassociateInstanceStorageConfig": "

This API is in preview release for Amazon Connect and is subject to change.

Removes the storage type configurations for the specified resource type and association ID.

", @@ -66,6 +70,7 @@ "ListContactFlowModules": "

Provides information about the contact flow modules for the specified Amazon Connect instance.

", "ListContactFlows": "

Provides information about the contact flows for the specified Amazon Connect instance.

You can also create and update contact flows using the Amazon Connect Flow language.

For more information about contact flows, see Contact Flows in the Amazon Connect Administrator Guide.

", "ListContactReferences": "

This API is in preview release for Amazon Connect and is subject to change.

For the specified referenceTypes, returns a list of references associated with the contact.

", + "ListDefaultVocabularies": "

Lists the default vocabularies for the specified Amazon Connect instance.

", "ListHoursOfOperations": "

Provides information about the hours of operation for the specified Amazon Connect instance.

For more information about hours of operation, see Set the Hours of Operation for a Queue in the Amazon Connect Administrator Guide.

", "ListInstanceAttributes": "

This API is in preview release for Amazon Connect and is subject to change.

Returns a paginated list of all attribute types for the given instance.

", "ListInstanceStorageConfigs": "

This API is in preview release for Amazon Connect and is subject to change.

Returns a paginated list of storage configs for the identified instance and resource type.

", @@ -88,6 +93,7 @@ "ListUserHierarchyGroups": "

Provides summary information about the hierarchy groups for the specified Amazon Connect instance.

For more information about agent hierarchies, see Set Up Agent Hierarchies in the Amazon Connect Administrator Guide.

", "ListUsers": "

Provides summary information about the users for the specified Amazon Connect instance.

", "ResumeContactRecording": "

When a contact is being recorded, and the recording has been suspended using SuspendContactRecording, this API resumes recording the call.

Only voice recordings are supported at this time.

", + "SearchVocabularies": "

Searches for vocabularies within a specific Amazon Connect instance using State, NameStartsWith, and LanguageCode.

", "StartChatContact": "

Initiates a contact flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients must subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

A 429 error occurs in two situations:

For more information about chat, see Chat in the Amazon Connect Administrator Guide.

", "StartContactRecording": "

Starts recording the contact when the agent joins the call. StartContactRecording is a one-time action. For example, if you use StopContactRecording to stop recording an ongoing call, you can't use StartContactRecording to restart it. For scenarios where the recording has started and you want to suspend and resume it, such as when collecting sensitive information (for example, a credit card number), use SuspendContactRecording and ResumeContactRecording.

You can use this API to override the recording behavior configured in the Set recording behavior block.

Only voice recordings are supported at this time.

", "StartContactStreaming": "

Initiates real-time message streaming for a new chat contact.

For more information about message streaming, see Enable real-time chat message streaming in the Amazon Connect Administrator Guide.

", @@ -156,6 +162,8 @@ "CreateUseCaseResponse$UseCaseArn": "

The Amazon Resource Name (ARN) for the use case.

", "CreateUserHierarchyGroupResponse$HierarchyGroupArn": "

The Amazon Resource Name (ARN) of the hierarchy group.

", "CreateUserResponse$UserArn": "

The Amazon Resource Name (ARN) of the user account.

", + "CreateVocabularyResponse$VocabularyArn": "

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

", + "DeleteVocabularyResponse$VocabularyArn": "

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

", "HierarchyGroup$Arn": "

The Amazon Resource Name (ARN) of the hierarchy group.

", "HierarchyGroupSummary$Arn": "

The Amazon Resource Name (ARN) of the hierarchy group.

", "HierarchyLevel$Arn": "

The Amazon Resource Name (ARN) of the hierarchy level.

", @@ -187,7 +195,9 @@ "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", "UseCase$UseCaseArn": "

The Amazon Resource Name (ARN) for the use case.

", "User$Arn": "

The Amazon Resource Name (ARN) of the user account.

", - "UserSummary$Arn": "

The Amazon Resource Name (ARN) of the user account.

" + "UserSummary$Arn": "

The Amazon Resource Name (ARN) of the user account.

", + "Vocabulary$Arn": "

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

", + "VocabularySummary$Arn": "

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

" } }, "AccessDeniedException": { @@ -329,6 +339,16 @@ "refs": { } }, + "AssociateDefaultVocabularyRequest": { + "base": null, + "refs": { + } + }, + "AssociateDefaultVocabularyResponse": { + "base": null, + "refs": { + } + }, "AssociateInstanceStorageConfigRequest": { "base": null, "refs": { @@ -508,6 +528,7 @@ "refs": { "CreateContactFlowModuleRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "CreateInstanceRequest$ClientToken": "

The idempotency token.

", + "CreateVocabularyRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If a create request is received more than once with same client token, subsequent requests return the previous response without creating a vocabulary again.

", "StartChatContactRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "StartContactStreamingRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", "StartOutboundVoiceContactRequest$ClientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.

", @@ -661,7 +682,7 @@ "ContactFlow$Name": "

The name of the contact flow.

", "ContactFlowSummary$Name": "

The name of the contact flow.

", "CreateContactFlowRequest$Name": "

The name of the contact flow.

", - "UpdateContactFlowMetadataRequest$Name": "

TThe name of the contact flow.

", + "UpdateContactFlowMetadataRequest$Name": "

The name of the contact flow.

", "UpdateContactFlowNameRequest$Name": "

The name of the contact flow.

" } }, @@ -882,6 +903,16 @@ "refs": { } }, + "CreateVocabularyRequest": { + "base": null, + "refs": { + } + }, + "CreateVocabularyResponse": { + "base": null, + "refs": { + } + }, "Credentials": { "base": "

Contains credentials to use for federation.

", "refs": { @@ -931,6 +962,18 @@ "GetCurrentMetricDataRequest$CurrentMetrics": "

The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see Real-time Metrics Definitions in the Amazon Connect Administrator Guide.

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

Name in real-time metrics report: ACW

AGENTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Available

AGENTS_ERROR

Unit: COUNT

Name in real-time metrics report: Error

AGENTS_NON_PRODUCTIVE

Unit: COUNT

Name in real-time metrics report: NPT (Non-Productive Time)

AGENTS_ON_CALL

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ON_CONTACT

Unit: COUNT

Name in real-time metrics report: On contact

AGENTS_ONLINE

Unit: COUNT

Name in real-time metrics report: Online

AGENTS_STAFFED

Unit: COUNT

Name in real-time metrics report: Staffed

CONTACTS_IN_QUEUE

Unit: COUNT

Name in real-time metrics report: In queue

CONTACTS_SCHEDULED

Unit: COUNT

Name in real-time metrics report: Scheduled

OLDEST_CONTACT_AGE

Unit: SECONDS

When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.

When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:

{ \"Metric\": { \"Name\": \"OLDEST_CONTACT_AGE\", \"Unit\": \"SECONDS\" }, \"Value\": 24113.0 }

The actual OLDEST_CONTACT_AGE is 24 seconds.

Name in real-time metrics report: Oldest

SLOTS_ACTIVE

Unit: COUNT

Name in real-time metrics report: Active

SLOTS_AVAILABLE

Unit: COUNT

Name in real-time metrics report: Availability

" } }, + "DefaultVocabulary": { + "base": "

Contains information about a default vocabulary.

", + "refs": { + "DefaultVocabularyList$member": null + } + }, + "DefaultVocabularyList": { + "base": null, + "refs": { + "ListDefaultVocabulariesResponse$DefaultVocabularyList": "

A list of default vocabularies.

" + } + }, "Delay": { "base": null, "refs": { @@ -993,6 +1036,16 @@ "refs": { } }, + "DeleteVocabularyRequest": { + "base": null, + "refs": { + } + }, + "DeleteVocabularyResponse": { + "base": null, + "refs": { + } + }, "DescribeAgentStatusRequest": { "base": null, "refs": { @@ -1143,6 +1196,16 @@ "refs": { } }, + "DescribeVocabularyRequest": { + "base": null, + "refs": { + } + }, + "DescribeVocabularyResponse": { + "base": null, + "refs": { + } + }, "Description": { "base": null, "refs": { @@ -1601,6 +1664,7 @@ "refs": { "AssociateApprovedOriginRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "AssociateBotRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "AssociateDefaultVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "AssociateInstanceStorageConfigRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "AssociateLambdaFunctionRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "AssociateLexBotRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", @@ -1620,6 +1684,8 @@ "CreateUseCaseRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "CreateUserHierarchyGroupRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "CreateUserRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "CreateVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "DefaultVocabulary$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DeleteContactFlowModuleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DeleteContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DeleteHoursOfOperationRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", @@ -1630,6 +1696,7 @@ "DeleteUseCaseRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DeleteUserHierarchyGroupRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DeleteUserRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "DeleteVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DescribeAgentStatusRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DescribeContactFlowModuleRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DescribeContactFlowRequest$InstanceId": "

The identifier of the Amazon Connect instance.

", @@ -1645,6 +1712,7 @@ "DescribeUserHierarchyGroupRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DescribeUserHierarchyStructureRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DescribeUserRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "DescribeVocabularyRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DisassociateApprovedOriginRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DisassociateBotRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "DisassociateInstanceStorageConfigRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", @@ -1666,6 +1734,7 @@ "ListContactFlowModulesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ListContactFlowsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ListContactReferencesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "ListDefaultVocabulariesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ListHoursOfOperationsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ListInstanceAttributesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ListInstanceStorageConfigsRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", @@ -1687,6 +1756,7 @@ "ListUsersRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "ResumeContactRecordingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "RoutingProfile$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", + "SearchVocabulariesRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "SecurityProfile$OrganizationResourceId": "

The organization resource identifier for the security profile.

", "StartChatContactRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", "StartContactRecordingRequest$InstanceId": "

The identifier of the Amazon Connect instance. You can find the instanceId in the ARN of the instance.

", @@ -1974,6 +2044,16 @@ "refs": { } }, + "ListDefaultVocabulariesRequest": { + "base": null, + "refs": { + } + }, + "ListDefaultVocabulariesResponse": { + "base": null, + "refs": { + } + }, "ListHoursOfOperationsRequest": { "base": null, "refs": { @@ -2196,10 +2276,12 @@ "refs": { "GetCurrentMetricDataRequest$MaxResults": "

The maximum number of results to return per page.

", "GetMetricDataRequest$MaxResults": "

The maximum number of results to return per page.

", + "ListDefaultVocabulariesRequest$MaxResults": "

The maximum number of results to return per page.

", "ListIntegrationAssociationsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListQueueQuickConnectsRequest$MaxResults": "

The maximum number of results to return per page.

", "ListRoutingProfileQueuesRequest$MaxResults": "

The maximum number of results to return per page.

", - "ListUseCasesRequest$MaxResults": "

The maximum number of results to return per page.

" + "ListUseCasesRequest$MaxResults": "

The maximum number of results to return per page.

", + "SearchVocabulariesRequest$MaxResults": "

The maximum number of results to return per page.

" } }, "MaxResult1000": { @@ -2929,6 +3011,16 @@ "InstanceStorageConfig$S3Config": "

The S3 bucket configuration.

" } }, + "SearchVocabulariesRequest": { + "base": null, + "refs": { + } + }, + "SearchVocabulariesResponse": { + "base": null, + "refs": { + } + }, "SecurityKey": { "base": "

Configuration information of the security key.

", "refs": { @@ -3174,6 +3266,7 @@ "CreateUseCaseRequest$Tags": "

The tags used to organize, track, or control access for this resource.

", "CreateUserHierarchyGroupRequest$Tags": "

The tags used to organize, track, or control access for this resource.

", "CreateUserRequest$Tags": "

One or more tags.

", + "CreateVocabularyRequest$Tags": "

The tags used to organize, track, or control access for this resource.

", "HierarchyGroup$Tags": "

The tags used to organize, track, or control access for this resource.

", "HoursOfOperation$Tags": "

The tags used to organize, track, or control access for this resource.

", "ListTagsForResourceResponse$tags": "

Information about the tags.

", @@ -3182,7 +3275,8 @@ "RoutingProfile$Tags": "

One or more tags.

", "SecurityProfile$Tags": "

The tags used to organize, track, or control access for this resource.

", "TagResourceRequest$tags": "

One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

", - "User$Tags": "

The tags.

" + "User$Tags": "

The tags.

", + "Vocabulary$Tags": "

The tags used to organize, track, or control access for this resource.

" } }, "TagResourceRequest": { @@ -3554,6 +3648,99 @@ "HistoricalMetricData$Value": "

The value of the metric.

" } }, + "Vocabulary": { + "base": "

Contains information about a custom vocabulary.

", + "refs": { + "DescribeVocabularyResponse$Vocabulary": "

A list of specific words that you want Contact Lens for Amazon Connect to recognize in your audio input. They are generally domain-specific words and phrases, words that Contact Lens is not recognizing, or proper nouns.

" + } + }, + "VocabularyContent": { + "base": null, + "refs": { + "CreateVocabularyRequest$Content": "

The content of the custom vocabulary in plain-text format with a table of values. Each row in the table represents a word or a phrase, described with Phrase, IPA, SoundsLike, and DisplayAs fields. Separate the fields with TAB characters. The size limit is 50KB. For more information, see Create a custom vocabulary using a table.

", + "Vocabulary$Content": "

The content of the custom vocabulary in plain-text format with a table of values. Each row in the table represents a word or a phrase, described with Phrase, IPA, SoundsLike, and DisplayAs fields. Separate the fields with TAB characters. For more information, see Create a custom vocabulary using a table.

" + } + }, + "VocabularyFailureReason": { + "base": null, + "refs": { + "Vocabulary$FailureReason": "

The reason why the custom vocabulary was not created.

", + "VocabularySummary$FailureReason": "

The reason why the custom vocabulary was not created.

" + } + }, + "VocabularyId": { + "base": null, + "refs": { + "AssociateDefaultVocabularyRequest$VocabularyId": "

The identifier of the custom vocabulary. If this is empty, the default is set to none.

", + "CreateVocabularyResponse$VocabularyId": "

The identifier of the custom vocabulary.

", + "DefaultVocabulary$VocabularyId": "

The identifier of the custom vocabulary.

", + "DeleteVocabularyRequest$VocabularyId": "

The identifier of the custom vocabulary.

", + "DeleteVocabularyResponse$VocabularyId": "

The identifier of the custom vocabulary.

", + "DescribeVocabularyRequest$VocabularyId": "

The identifier of the custom vocabulary.

", + "Vocabulary$Id": "

The identifier of the custom vocabulary.

", + "VocabularySummary$Id": "

The identifier of the custom vocabulary.

" + } + }, + "VocabularyLanguageCode": { + "base": null, + "refs": { + "AssociateDefaultVocabularyRequest$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

", + "CreateVocabularyRequest$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

", + "DefaultVocabulary$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

", + "ListDefaultVocabulariesRequest$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

", + "SearchVocabulariesRequest$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

", + "Vocabulary$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

", + "VocabularySummary$LanguageCode": "

The language code of the vocabulary entries. For a list of languages and their corresponding language codes, see What is Amazon Transcribe?

" + } + }, + "VocabularyLastModifiedTime": { + "base": null, + "refs": { + "Vocabulary$LastModifiedTime": "

The timestamp when the custom vocabulary was last modified.

", + "VocabularySummary$LastModifiedTime": "

The timestamp when the custom vocabulary was last modified.

" + } + }, + "VocabularyName": { + "base": null, + "refs": { + "CreateVocabularyRequest$VocabularyName": "

A unique name of the custom vocabulary.

", + "DefaultVocabulary$VocabularyName": "

A unique name of the custom vocabulary.

", + "SearchVocabulariesRequest$NameStartsWith": "

The starting pattern of the name of the vocabulary.

", + "Vocabulary$Name": "

A unique name of the custom vocabulary.

", + "VocabularySummary$Name": "

A unique name of the custom vocabulary.

" + } + }, + "VocabularyNextToken": { + "base": null, + "refs": { + "ListDefaultVocabulariesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "ListDefaultVocabulariesResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

", + "SearchVocabulariesRequest$NextToken": "

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "SearchVocabulariesResponse$NextToken": "

If there are additional results, this is the token for the next set of results.

" + } + }, + "VocabularyState": { + "base": null, + "refs": { + "CreateVocabularyResponse$State": "

The current state of the custom vocabulary.

", + "DeleteVocabularyResponse$State": "

The current state of the custom vocabulary.

", + "SearchVocabulariesRequest$State": "

The current state of the custom vocabulary.

", + "Vocabulary$State": "

The current state of the custom vocabulary.

", + "VocabularySummary$State": "

The current state of the custom vocabulary.

" + } + }, + "VocabularySummary": { + "base": "

Contains summary information about the custom vocabulary.

", + "refs": { + "VocabularySummaryList$member": null + } + }, + "VocabularySummaryList": { + "base": null, + "refs": { + "SearchVocabulariesResponse$VocabularySummaryList": "

The list of the available custom vocabularies.

" + } + }, "VoiceRecordingConfiguration": { "base": "

Contains information about the recording configuration settings.

", "refs": { diff --git a/models/apis/connect/2017-08-08/paginators-1.json b/models/apis/connect/2017-08-08/paginators-1.json index d3e1f13eabe..91f5bbf7dbd 100644 --- a/models/apis/connect/2017-08-08/paginators-1.json +++ b/models/apis/connect/2017-08-08/paginators-1.json @@ -45,6 +45,12 @@ "output_token": "NextToken", "result_key": "ReferenceSummaryList" }, + "ListDefaultVocabularies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DefaultVocabularyList" + }, "ListHoursOfOperations": { "input_token": "NextToken", "limit_key": "MaxResults", @@ -164,6 +170,12 @@ "limit_key": "MaxResults", "output_token": "NextToken", "result_key": "UserSummaryList" + }, + "SearchVocabularies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "VocabularySummaryList" } } } \ No newline at end of file diff --git a/models/apis/elasticfilesystem/2015-02-01/api-2.json b/models/apis/elasticfilesystem/2015-02-01/api-2.json index be81e1ee1ae..665f579db7b 100644 --- a/models/apis/elasticfilesystem/2015-02-01/api-2.json +++ b/models/apis/elasticfilesystem/2015-02-01/api-2.json @@ -73,6 +73,28 @@ {"shape":"AvailabilityZonesMismatch"} ] }, + "CreateReplicationConfiguration":{ + "name":"CreateReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration", + "responseCode":200 + }, + "input":{"shape":"CreateReplicationConfigurationRequest"}, + "output":{"shape":"ReplicationConfigurationDescription"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncorrectFileSystemLifeCycleState"}, + {"shape":"ValidationException"}, + {"shape":"ReplicationNotFound"}, + {"shape":"FileSystemNotFound"}, + {"shape":"UnsupportedAvailabilityZone"}, + {"shape":"FileSystemLimitExceeded"}, + {"shape":"InsufficientThroughputCapacity"}, + {"shape":"ThroughputLimitExceeded"}, + {"shape":"InternalServerError"} + ] + }, "CreateTags":{ "name":"CreateTags", "http":{ @@ -127,6 +149,7 @@ }, "input":{"shape":"DeleteFileSystemPolicyRequest"}, "errors":[ + {"shape":"BadRequest"}, {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"}, {"shape":"IncorrectFileSystemLifeCycleState"} @@ -147,6 +170,21 @@ {"shape":"MountTargetNotFound"} ] }, + "DeleteReplicationConfiguration":{ + "name":"DeleteReplicationConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteReplicationConfigurationRequest"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"ReplicationNotFound"} + ] + }, "DeleteTags":{ "name":"DeleteTags", "http":{ @@ -219,6 +257,7 @@ "input":{"shape":"DescribeFileSystemPolicyRequest"}, "output":{"shape":"FileSystemPolicyDescription"}, "errors":[ + {"shape":"BadRequest"}, {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"}, {"shape":"PolicyNotFound"} @@ -287,6 +326,23 @@ {"shape":"AccessPointNotFound"} ] }, + "DescribeReplicationConfigurations":{ + "name":"DescribeReplicationConfigurations", + "http":{ + "method":"GET", + "requestUri":"/2015-02-01/file-systems/replication-configurations", + "responseCode":200 + }, + "input":{"shape":"DescribeReplicationConfigurationsRequest"}, + "output":{"shape":"DescribeReplicationConfigurationsResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"InternalServerError"}, + {"shape":"ReplicationNotFound"}, + {"shape":"ValidationException"} + ] + }, "DescribeTags":{ "name":"DescribeTags", "http":{ @@ -378,6 +434,7 @@ "input":{"shape":"PutFileSystemPolicyRequest"}, "output":{"shape":"FileSystemPolicyDescription"}, "errors":[ + {"shape":"BadRequest"}, {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"}, {"shape":"InvalidPolicyException"}, @@ -614,6 +671,21 @@ "SecurityGroups":{"shape":"SecurityGroups"} } }, + "CreateReplicationConfigurationRequest":{ + "type":"structure", + "required":[ + "SourceFileSystemId", + "Destinations" + ], + "members":{ + "SourceFileSystemId":{ + "shape":"FileSystemId", + "location":"uri", + "locationName":"SourceFileSystemId" + }, + "Destinations":{"shape":"DestinationsToCreate"} + } + }, "CreateTagsRequest":{ "type":"structure", "required":[ @@ -692,6 +764,17 @@ } } }, + "DeleteReplicationConfigurationRequest":{ + "type":"structure", + "required":["SourceFileSystemId"], + "members":{ + "SourceFileSystemId":{ + "shape":"FileSystemId", + "location":"uri", + "locationName":"SourceFileSystemId" + } + } + }, "DeleteTagsRequest":{ "type":"structure", "required":[ @@ -885,6 +968,33 @@ "NextMarker":{"shape":"Marker"} } }, + "DescribeReplicationConfigurationsRequest":{ + "type":"structure", + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "location":"querystring", + "locationName":"FileSystemId" + }, + "NextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeReplicationConfigurationsResponse":{ + "type":"structure", + "members":{ + "Replications":{"shape":"ReplicationConfigurationDescriptions"}, + "NextToken":{"shape":"Token"} + } + }, "DescribeTagsRequest":{ "type":"structure", "required":["FileSystemId"], @@ -915,6 +1025,36 @@ "NextMarker":{"shape":"Marker"} } }, + "Destination":{ + "type":"structure", + "required":[ + "Status", + "FileSystemId", + "Region" + ], + "members":{ + "Status":{"shape":"ReplicationStatus"}, + "FileSystemId":{"shape":"FileSystemId"}, + "Region":{"shape":"RegionName"}, + "LastReplicatedTimestamp":{"shape":"Timestamp"} + } + }, + "DestinationToCreate":{ + "type":"structure", + "members":{ + "Region":{"shape":"RegionName"}, + "AvailabilityZoneName":{"shape":"AvailabilityZoneName"}, + "KmsKeyId":{"shape":"KmsKeyId"} + } + }, + "Destinations":{ + "type":"list", + "member":{"shape":"Destination"} + }, + "DestinationsToCreate":{ + "type":"list", + "member":{"shape":"DestinationToCreate"} + }, "Encrypted":{"type":"boolean"}, "ErrorCode":{ "type":"string", @@ -1387,6 +1527,53 @@ "LifecyclePolicies":{"shape":"LifecyclePolicies"} } }, + "RegionName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-{0,1}[0-9]{0,1}$" + }, + "ReplicationConfigurationDescription":{ + "type":"structure", + "required":[ + "SourceFileSystemId", + "SourceFileSystemRegion", + "SourceFileSystemArn", + "OriginalSourceFileSystemArn", + "CreationTime", + "Destinations" + ], + "members":{ + "SourceFileSystemId":{"shape":"FileSystemId"}, + "SourceFileSystemRegion":{"shape":"RegionName"}, + "SourceFileSystemArn":{"shape":"FileSystemArn"}, + "OriginalSourceFileSystemArn":{"shape":"FileSystemArn"}, + "CreationTime":{"shape":"Timestamp"}, + "Destinations":{"shape":"Destinations"} + } + }, + "ReplicationConfigurationDescriptions":{ + "type":"list", + "member":{"shape":"ReplicationConfigurationDescription"} + }, + "ReplicationNotFound":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":404}, + "exception":true + }, + "ReplicationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "ENABLING", + "DELETING", + "ERROR" + ] + }, "Resource":{ "type":"string", "enum":[ diff --git a/models/apis/elasticfilesystem/2015-02-01/docs-2.json b/models/apis/elasticfilesystem/2015-02-01/docs-2.json index 9467a84824d..fab6925aadc 100644 --- a/models/apis/elasticfilesystem/2015-02-01/docs-2.json +++ b/models/apis/elasticfilesystem/2015-02-01/docs-2.json @@ -1,15 +1,17 @@ { "version": "2.0", - "service": "Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the Amazon Elastic File System API Reference and the Amazon Elastic File System User Guide.

", + "service": "Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 Linux and Mac instances in the Amazon Web Services Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the Amazon Elastic File System API Reference and the Amazon Elastic File System User Guide.

", "operations": { "CreateAccessPoint": "

Creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see Mounting a file system using EFS access points.

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

", "CreateFileSystem": "

Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's Amazon Web Services account with the specified creation token, this operation does the following:

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

For more information, see Creating a file system in the Amazon EFS User Guide.

The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

This operation accepts an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS performance modes.

You can set the throughput mode for the file system using the ThroughputMode parameter.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

", "CreateMountTarget": "

Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system.

You can create only one mount target for an EFS file system using One Zone storage classes. You must create that mount target in the same Availability Zone in which the file system is located. Use the AvailabilityZoneName and AvailabiltyZoneId properties in the DescribeFileSystems response object to get this information. Use the subnetId associated with the file system's Availability Zone when creating the mount target.

For more information, see Amazon EFS: How it Works.

To create a mount target for a file system, the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

In the request, provide the following:

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

If the request satisfies the requirements, Amazon EFS does the following:

The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

This operation requires permissions for the following action on the file system:

This operation also requires permissions for the following Amazon EC2 actions:

", + "CreateReplicationConfiguration": "

Creates a replication configuration that replicates an existing EFS file system to a new, read-only file system. For more information, see Amazon EFS replication. The replication configuration specifies the following:

The following properties are set by default:

The following properties are turned off by default:

For more information, see Amazon EFS replication.

", "CreateTags": "

DEPRECATED - CreateTags is deprecated and not maintained. Please use the API action to create tags for EFS resources.

Creates or overwrites tags associated with a file system. Each tag is a key-value pair. If a tag key specified in the request already exists on the file system, this operation overwrites its value with the value provided in the request. If you add the Name tag to your file system, Amazon EFS returns it in the response to the DescribeFileSystems operation.

This operation requires permission for the elasticfilesystem:CreateTags action.

", "DeleteAccessPoint": "

Deletes the specified access point. After deletion is complete, new clients can no longer connect to the access points. Clients connected to the access point at the time of deletion will continue to function until they terminate their connection.

This operation requires permissions for the elasticfilesystem:DeleteAccessPoint action.

", "DeleteFileSystem": "

Deletes a file system, permanently severing access to its contents. Upon return, the file system no longer exists and you can't access any contents of the deleted file system.

You can't delete a file system that is in use. That is, if the file system has any mount targets, you must first delete them. For more information, see DescribeMountTargets and DeleteMountTarget.

The DeleteFileSystem call returns while the file system state is still deleting. You can check the file system deletion status by calling the DescribeFileSystems operation, which returns a list of file systems in your account. If you pass file system ID or creation token for the deleted file system, the DescribeFileSystems returns a 404 FileSystemNotFound error.

This operation requires permissions for the elasticfilesystem:DeleteFileSystem action.

", "DeleteFileSystemPolicy": "

Deletes the FileSystemPolicy for the specified file system. The default FileSystemPolicy goes into effect once the existing policy is deleted. For more information about the default file system policy, see Using Resource-based Policies with EFS.

This operation requires permissions for the elasticfilesystem:DeleteFileSystemPolicy action.

", "DeleteMountTarget": "

Deletes the specified mount target.

This operation forcibly breaks any mounts of the file system by using the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes might be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC by using another mount target.

This operation requires permissions for the following action on the file system:

The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface:

", + "DeleteReplicationConfiguration": "

Deletes an existing replication configuration. To delete a replication configuration, you must make the request from the Amazon Web Services Region in which the destination file system is located. Deleting a replication configuration ends the replication process. You can write to the destination file system once it's status becomes Writeable.

", "DeleteTags": "

DEPRECATED - DeleteTags is deprecated and not maintained. Please use the API action to remove tags from EFS resources.

Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag restrictions in the Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

", "DescribeAccessPoints": "

Returns the description of a specific Amazon EFS access point if the AccessPointId is provided. If you provide an EFS FileSystemId, it returns descriptions of all access points for that file system. You can provide either an AccessPointId or a FileSystemId in the request, but not both.

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

", "DescribeAccountPreferences": "

Returns the account preferences settings for the Amazon Web Services account associated with the user making the request, in the current Amazon Web Services Region. For more information, see Managing Amazon EFS resource IDs.

", @@ -19,6 +21,7 @@ "DescribeLifecycleConfiguration": "

Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. EFS lifecycle management uses the LifecycleConfiguration object to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

When EFS Intelligent Tiering is enabled, TransitionToPrimaryStorageClass has a value of AFTER_1_ACCESS.

This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

", "DescribeMountTargetSecurityGroups": "

Returns the security groups currently in effect for a mount target. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted.

This operation requires permissions for the following actions:

", "DescribeMountTargets": "

Returns the descriptions of all the current mount targets, or a specific mount target, for a file system. When requesting all of the current mount targets, the order of mount targets returned in the response is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeMountTargets action, on either the file system ID that you specify in FileSystemId, or on the file system of the mount target that you specify in MountTargetId.

", + "DescribeReplicationConfigurations": "

Retrieves the replication configurations for either a specific file system, or all configurations for the Amazon Web Services account in an Amazon Web Services Region if a file system is not specified.

", "DescribeTags": "

DEPRECATED - The DeleteTags action is deprecated and not maintained. Please use the API action to remove tags from EFS resources.

Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multiple-call iteration (when using pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

", "ListTagsForResource": "

Lists all tags for a top-level EFS resource. You must provide the ID of the resource that you want to retrieve the tags for.

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

", "ModifyMountTargetSecurityGroups": "

Modifies the set of security groups in effect for a mount target.

When you create a mount target, Amazon EFS also creates a new network interface. For more information, see CreateMountTarget. This operation replaces the security groups in effect for the network interface associated with a mount target, with the SecurityGroups provided in the request. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted.

The operation requires permissions for the following actions:

", @@ -85,6 +88,7 @@ "base": null, "refs": { "CreateFileSystemRequest$AvailabilityZoneName": "

Used to create a file system that uses One Zone storage classes. It specifies the Amazon Web Services Availability Zone in which to create the file system. Use the format us-east-1a to specify the Availability Zone. For more information about One Zone storage classes, see Using EFS storage classes in the Amazon EFS User Guide.

One Zone storage classes are not available in all Availability Zones in Amazon Web Services Regions where Amazon EFS is available.

", + "DestinationToCreate$AvailabilityZoneName": "

To create a file system that uses One Zone storage, specify the name of the Availability Zone in which to create the destination file system.

", "FileSystemDescription$AvailabilityZoneName": "

Describes the Amazon Web Services Availability Zone in which the file system is located, and is valid only for file systems using One Zone storage classes. For more information, see Using EFS storage classes in the Amazon EFS User Guide.

", "MountTargetDescription$AvailabilityZoneName": "

The name of the Availability Zone in which the mount target is located. Availability Zones are independently mapped to names for each Amazon Web Services account. For example, the Availability Zone us-east-1a for your Amazon Web Services account might not be the same location as us-east-1a for another Amazon Web Services account.

" } @@ -105,7 +109,7 @@ "Backup": { "base": null, "refs": { - "CreateFileSystemRequest$Backup": "

Specifies whether automatic backups are enabled on the file system that you are creating. Set the value to true to enable automatic backups. If you are creating a file system that uses One Zone storage classes, automatic backups are enabled by default. For more information, see Automatic backups in the Amazon EFS User Guide.

Default is false. However, if you specify an AvailabilityZoneName, the default is true.

Backup is not available in all Amazon Web Services Regionswhere Amazon EFS is available.

" + "CreateFileSystemRequest$Backup": "

Specifies whether automatic backups are enabled on the file system that you are creating. Set the value to true to enable automatic backups. If you are creating a file system that uses One Zone storage classes, automatic backups are enabled by default. For more information, see Automatic backups in the Amazon EFS User Guide.

Default is false. However, if you specify an AvailabilityZoneName, the default is true.

Backup is not available in all Amazon Web Services Regions where Amazon EFS is available.

" } }, "BackupPolicy": { @@ -153,6 +157,11 @@ "refs": { } }, + "CreateReplicationConfigurationRequest": { + "base": null, + "refs": { + } + }, "CreateTagsRequest": { "base": "

", "refs": { @@ -192,6 +201,11 @@ "refs": { } }, + "DeleteReplicationConfigurationRequest": { + "base": null, + "refs": { + } + }, "DeleteTagsRequest": { "base": "

", "refs": { @@ -267,6 +281,16 @@ "refs": { } }, + "DescribeReplicationConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeReplicationConfigurationsResponse": { + "base": null, + "refs": { + } + }, "DescribeTagsRequest": { "base": "

", "refs": { @@ -277,15 +301,39 @@ "refs": { } }, + "Destination": { + "base": "

Describes the destination file system in the replication configuration.

", + "refs": { + "Destinations$member": null + } + }, + "DestinationToCreate": { + "base": "

Describes the destination file system to create in the replication configuration.

", + "refs": { + "DestinationsToCreate$member": null + } + }, + "Destinations": { + "base": null, + "refs": { + "ReplicationConfigurationDescription$Destinations": "

Array of destination objects. Only one destination object is supported.

" + } + }, + "DestinationsToCreate": { + "base": null, + "refs": { + "CreateReplicationConfigurationRequest$Destinations": "

An array of destination configuration objects. Only one destination configuration object is supported.

" + } + }, "Encrypted": { "base": null, "refs": { - "CreateFileSystemRequest$Encrypted": "

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId for an existing Key Management Service (KMS customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

", + "CreateFileSystemRequest$Encrypted": "

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying an existing Key Management Service key (KMS key). If you don't specify a KMS key, then the default KMS key for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

", "FileSystemDescription$Encrypted": "

A Boolean value that, if true, indicates that the file system is encrypted.

" } }, "ErrorCode": { - "base": null, + "base": "

The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type.

", "refs": { "AccessPointAlreadyExists$ErrorCode": null, "AccessPointLimitExceeded$ErrorCode": null, @@ -308,6 +356,7 @@ "NetworkInterfaceLimitExceeded$ErrorCode": null, "NoFreeAddressesInSubnet$ErrorCode": null, "PolicyNotFound$ErrorCode": null, + "ReplicationNotFound$ErrorCode": "

ReplicationNotFound

", "SecurityGroupLimitExceeded$ErrorCode": null, "SecurityGroupNotFound$ErrorCode": null, "SubnetNotFound$ErrorCode": null, @@ -318,7 +367,7 @@ } }, "ErrorMessage": { - "base": null, + "base": "

The error message contains a generic description of the error condition in English. It is intended for a human audience. Simple programs display the message directly to the end user if they encounter an error condition they don't know how or don't care to handle. Sophisticated programs with more exhaustive error handling and proper internationalization are more likely to ignore the error message.

", "refs": { "AccessPointAlreadyExists$Message": null, "AccessPointLimitExceeded$Message": null, @@ -341,6 +390,7 @@ "NetworkInterfaceLimitExceeded$Message": null, "NoFreeAddressesInSubnet$Message": null, "PolicyNotFound$Message": null, + "ReplicationNotFound$Message": null, "SecurityGroupLimitExceeded$Message": null, "SecurityGroupNotFound$Message": null, "SubnetNotFound$Message": null, @@ -358,7 +408,9 @@ "FileSystemArn": { "base": null, "refs": { - "FileSystemDescription$FileSystemArn": "

The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567

" + "FileSystemDescription$FileSystemArn": "

The Amazon Resource Name (ARN) for the EFS file system, in the format arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id . Example with sample data: arn:aws:elasticfilesystem:us-west-2:1111333322228888:file-system/fs-01234567

", + "ReplicationConfigurationDescription$SourceFileSystemArn": "

The ARN of the current source file system in the replication configuration.

", + "ReplicationConfigurationDescription$OriginalSourceFileSystemArn": "

The Amazon Resource Name (ARN) of the original source Amazon EFS file system in the replication configuration.

" } }, "FileSystemDescription": { @@ -379,9 +431,11 @@ "AccessPointDescription$FileSystemId": "

The ID of the EFS file system that the access point applies to.

", "CreateAccessPointRequest$FileSystemId": "

The ID of the EFS file system that the access point provides access to.

", "CreateMountTargetRequest$FileSystemId": "

The ID of the file system for which to create the mount target.

", + "CreateReplicationConfigurationRequest$SourceFileSystemId": "

Specifies the Amazon EFS file system that you want to replicate. This file system cannot already be a source or destination file system in another replication configuration.

", "CreateTagsRequest$FileSystemId": "

The ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system.

", "DeleteFileSystemPolicyRequest$FileSystemId": "

Specifies the EFS file system for which to delete the FileSystemPolicy.

", "DeleteFileSystemRequest$FileSystemId": "

The ID of the file system you want to delete.

", + "DeleteReplicationConfigurationRequest$SourceFileSystemId": "

The ID of the source file system in the replication configuration.

", "DeleteTagsRequest$FileSystemId": "

The ID of the file system whose tags you want to delete (String).

", "DescribeAccessPointsRequest$FileSystemId": "

(Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutually exclusive with AccessPointId.

", "DescribeBackupPolicyRequest$FileSystemId": "

Specifies which EFS file system to retrieve the BackupPolicy for.

", @@ -389,7 +443,9 @@ "DescribeFileSystemsRequest$FileSystemId": "

(Optional) ID of the file system whose description you want to retrieve (String).

", "DescribeLifecycleConfigurationRequest$FileSystemId": "

The ID of the file system whose LifecycleConfiguration object you want to retrieve (String).

", "DescribeMountTargetsRequest$FileSystemId": "

(Optional) ID of the file system whose mount targets you want to list (String). It must be included in your request if an AccessPointId or MountTargetId is not included. Accepts either a file system ID or ARN as input.

", + "DescribeReplicationConfigurationsRequest$FileSystemId": "

You can retrieve replication configurations for a specific file system by providing a file system ID.

", "DescribeTagsRequest$FileSystemId": "

The ID of the file system whose tag set you want to retrieve.

", + "Destination$FileSystemId": "

The ID of the destination Amazon EFS file system.

", "FileSystemAlreadyExists$FileSystemId": null, "FileSystemDescription$FileSystemId": "

The ID of the file system, assigned by Amazon EFS.

", "FileSystemPolicyDescription$FileSystemId": "

Specifies the EFS file system to which the FileSystemPolicy applies.

", @@ -397,6 +453,7 @@ "PutBackupPolicyRequest$FileSystemId": "

Specifies which EFS file system to update the backup policy for.

", "PutFileSystemPolicyRequest$FileSystemId": "

The ID of the EFS file system that you want to create or update the FileSystemPolicy for.

", "PutLifecycleConfigurationRequest$FileSystemId": "

The ID of the file system for which you are creating the LifecycleConfiguration object (String).

", + "ReplicationConfigurationDescription$SourceFileSystemId": "

The ID of the source Amazon EFS file system that is being replicated.

", "UpdateFileSystemRequest$FileSystemId": "

The ID of the file system that you want to update.

" } }, @@ -486,8 +543,9 @@ "KmsKeyId": { "base": null, "refs": { - "CreateFileSystemRequest$KmsKeyId": "

The ID of the KMS CMK that you want to use to protect the encrypted file system. This parameter is only required if you want to use a non-default KMS key. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats:

If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with EFS file systems.

", - "FileSystemDescription$KmsKeyId": "

The ID of an Key Management Service customer master key (CMK) that was used to protect the encrypted file system.

" + "CreateFileSystemRequest$KmsKeyId": "

The ID of the KMS key that you want to use to protect the encrypted file system. This parameter is only required if you want to use a non-default KMS key. If this parameter is not specified, the default KMS key for Amazon EFS is used. You can specify a KMS key ID using the following formats:

If you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter to true.

EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with Amazon EFS file systems.

", + "DestinationToCreate$KmsKeyId": "

Specifies the KMS key you want to use to encrypt the destination file system. If you do not specify a KMS key, EFS uses your default KMS key for Amazon EFS, /aws/elasticfilesystem. This ID can be in one of the following formats:

", + "FileSystemDescription$KmsKeyId": "

The ID of an KMS key used to protect the encrypted file system.

" } }, "LifeCycleState": { @@ -553,6 +611,7 @@ "refs": { "DescribeAccessPointsRequest$MaxResults": "

(Optional) When retrieving all access points for a file system, you can optionally specify the MaxItems parameter to limit the number of objects returned in a response. The default value is 100.

", "DescribeAccountPreferencesRequest$MaxResults": "

(Optional) When retrieving account preferences, you can optionally specify the MaxItems parameter to limit the number of objects returned in a response. The default value is 100.

", + "DescribeReplicationConfigurationsRequest$MaxResults": "

(Optional) You can optionally specify the MaxItems parameter to limit the number of objects returned in a response. The default value is 100.

", "ListTagsForResourceRequest$MaxResults": "

(Optional) Specifies the maximum number of tag objects to return in the response. The default value is 100.

" } }, @@ -704,6 +763,37 @@ "refs": { } }, + "RegionName": { + "base": null, + "refs": { + "Destination$Region": "

The Amazon Web Services Region in which the destination file system is located.

", + "DestinationToCreate$Region": "

To create a file system that uses regional storage, specify the Amazon Web Services Region in which to create the destination file system.

", + "ReplicationConfigurationDescription$SourceFileSystemRegion": "

The Amazon Web Services Region in which the source Amazon EFS file system is located.

" + } + }, + "ReplicationConfigurationDescription": { + "base": null, + "refs": { + "ReplicationConfigurationDescriptions$member": null + } + }, + "ReplicationConfigurationDescriptions": { + "base": null, + "refs": { + "DescribeReplicationConfigurationsResponse$Replications": "

The collection of replication configurations returned.

" + } + }, + "ReplicationNotFound": { + "base": "

Returned if the specified file system did not have a replication configuration.

", + "refs": { + } + }, + "ReplicationStatus": { + "base": null, + "refs": { + "Destination$Status": "

Describes the status of the destination Amazon EFS file system.

" + } + }, "Resource": { "base": "An EFS resource, for example a file system or a mount target.", "refs": { @@ -854,8 +944,10 @@ "Timestamp": { "base": null, "refs": { + "Destination$LastReplicatedTimestamp": "

The time when the most recent sync successfully completed on the destination file system. Any changes to data on the source file system that occurred prior to this time were successfully replicated to the destination file system. Any changes that occurred after this time might not be fully replicated.

", "FileSystemDescription$CreationTime": "

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

", - "FileSystemSize$Timestamp": "

The time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

" + "FileSystemSize$Timestamp": "

The time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

", + "ReplicationConfigurationDescription$CreationTime": "

Describes when the replication configuration was created.

" } }, "Token": { @@ -865,6 +957,8 @@ "DescribeAccessPointsResponse$NextToken": "

Present if there are more access points than returned in the response. You can use the NextMarker in the subsequent request to fetch the additional descriptions.

", "DescribeAccountPreferencesRequest$NextToken": "

(Optional) You can use NextToken in a subsequent request to fetch the next page of Amazon Web Services account preferences if the response payload was paginated.

", "DescribeAccountPreferencesResponse$NextToken": "

Present if there are more records than returned in the response. You can use the NextToken in the subsequent request to fetch the additional descriptions.

", + "DescribeReplicationConfigurationsRequest$NextToken": "

NextToken is present if the response is paginated. You can use NextMarker in a subsequent request to fetch the next page of output.

", + "DescribeReplicationConfigurationsResponse$NextToken": "

You can use the NextToken from the previous response in a subsequent request to fetch the additional descriptions.

", "ListTagsForResourceRequest$NextToken": "

(Optional) You can use NextToken in a subsequent request to fetch the next page of access point descriptions if the response payload was paginated.

", "ListTagsForResourceResponse$NextToken": "

NextToken is present if the response payload is paginated. You can use NextToken in a subsequent request to fetch the next page of access point descriptions.

" } diff --git a/models/apis/fsx/2018-03-01/api-2.json b/models/apis/fsx/2018-03-01/api-2.json index d6ab8b9532f..2fef76a53e5 100644 --- a/models/apis/fsx/2018-03-01/api-2.json +++ b/models/apis/fsx/2018-03-01/api-2.json @@ -3163,7 +3163,8 @@ "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "FsxAdminPassword":{"shape":"AdminPassword"}, - "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"} + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "DiskIopsConfiguration":{"shape":"DiskIopsConfiguration"} } }, "UpdateFileSystemOpenZFSConfiguration":{ diff --git a/models/apis/fsx/2018-03-01/docs-2.json b/models/apis/fsx/2018-03-01/docs-2.json index a7482310a0d..66ccd500efb 100644 --- a/models/apis/fsx/2018-03-01/docs-2.json +++ b/models/apis/fsx/2018-03-01/docs-2.json @@ -8,7 +8,7 @@ "CreateBackup": "

Creates a backup of an existing Amazon FSx for Windows File Server file system, Amazon FSx for Lustre file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS file system. We recommend creating regular backups so that you can restore a file system or volume from a backup if an issue arises with the original file system or volume.

For Amazon FSx for Lustre file systems, you can create a backup only for file systems that have the following configuration:

For more information about backups, see the following:

If a backup with the specified client request token exists and the parameters match, this operation returns the description of the existing backup. If a backup with the specified client request token exists and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateBackup operation returns while the backup's lifecycle state is still CREATING. You can check the backup creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

", "CreateDataRepositoryAssociation": "

Creates an Amazon FSx for Lustre data repository association (DRA). A data repository association is a link between a directory on the file system and an Amazon S3 bucket or prefix. You can have a maximum of 8 data repository associations on a file system. Data repository associations are supported only for file systems with the Persistent_2 deployment type.

Each data repository association must have a unique Amazon FSx file system directory and a unique S3 bucket or prefix associated with it. You can configure a data repository association for automatic import only, for automatic export only, or for both. To learn more about linking a data repository to your file system, see Linking your file system to an S3 bucket.

", "CreateDataRepositoryTask": "

Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repositories. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to a linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Data Repository Tasks. To learn more about linking a data repository to your file system, see Linking your file system to an S3 bucket.

", - "CreateFileSystem": "

Creates a new, empty Amazon FSx file system. You can create the following supported Amazon FSx file systems using the CreateFileSystem API operation:

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system with the specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport-level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives a success message as long as the parameters are the same.

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

", + "CreateFileSystem": "

Creates a new, empty Amazon FSx file system. You can create the following supported Amazon FSx file systems using the CreateFileSystem API operation:

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system with the specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport-level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives a success message as long as the parameters are the same.

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

", "CreateFileSystemFromBackup": "

Creates a new Amazon FSx for Lustre, Amazon FSx for Windows File Server, or Amazon FSx for OpenZFS file system from an existing Amazon FSx backup.

If a file system with the specified client request token exists and the parameters match, this operation returns the description of the file system. If a client request token with the specified by the file system exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, this operation does the following:

Parameters like the Active Directory, default share name, automatic backup, and backup settings default to the parameters of the file system that was backed up, unless overridden. You can explicitly supply other settings.

By using the idempotent operation, you can retry a CreateFileSystemFromBackup call without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives a success message as long as the parameters are the same.

The CreateFileSystemFromBackup call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

", "CreateSnapshot": "

Creates a snapshot of an existing Amazon FSx for OpenZFS file system. With snapshots, you can easily undo file changes and compare file versions by restoring the volume to a previous version.

If a snapshot with the specified client request token exists, and the parameters match, this operation returns the description of the existing snapshot. If a snapshot with the specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a snapshot with the specified client request token doesn't exist, CreateSnapshot does the following:

By using the idempotent operation, you can retry a CreateSnapshot operation without the risk of creating an extra snapshot. This approach can be useful when an initial call fails in a way that makes it unclear whether a snapshot was created. If you use the same client request token and the initial call created a snapshot, the operation returns a successful result because all the parameters are the same.

The CreateSnapshot operation returns while the snapshot's lifecycle state is still CREATING. You can check the snapshot creation status by calling the DescribeSnapshots operation, which returns the snapshot state along with other information.

", "CreateStorageVirtualMachine": "

Creates a storage virtual machine (SVM) for an Amazon FSx for ONTAP file system.

", @@ -35,7 +35,7 @@ "TagResource": "

Tags an Amazon FSx resource.

", "UntagResource": "

This action removes a tag from an Amazon FSx resource.

", "UpdateDataRepositoryAssociation": "

Updates the configuration of an existing data repository association on an Amazon FSx for Lustre file system. Data repository associations are supported only for file systems with the Persistent_2 deployment type.

", - "UpdateFileSystem": "

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For Amazon FSx for Windows File Server file systems, you can update the following properties:

For FSx for Lustre file systems, you can update the following properties:

For FSx for ONTAP file systems, you can update the following properties:

For the Amazon FSx for OpenZFS file systems, you can update the following properties:

", + "UpdateFileSystem": "

Use this operation to update the configuration of an existing Amazon FSx file system. You can update multiple properties in a single request.

For Amazon FSx for Windows File Server file systems, you can update the following properties:

For Amazon FSx for Lustre file systems, you can update the following properties:

For Amazon FSx for NetApp ONTAP file systems, you can update the following properties:

For the Amazon FSx for OpenZFS file systems, you can update the following properties:

", "UpdateSnapshot": "

Updates the name of a snapshot.

", "UpdateStorageVirtualMachine": "

Updates an Amazon FSx for ONTAP storage virtual machine (SVM).

", "UpdateVolume": "

Updates the configuration of an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume.

" @@ -95,7 +95,7 @@ } }, "AdministrativeActionType": { - "base": "

Describes the type of administrative action, as follows:

", + "base": "

Describes the type of administrative action, as follows:

", "refs": { "AdministrativeAction$AdministrativeActionType": null } @@ -779,7 +779,7 @@ "DeleteOpenZFSVolumeOptions": { "base": null, "refs": { - "DeleteVolumeOpenZFSConfiguration$Options": "

To delete the volume's children and snapshots, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS.

" + "DeleteVolumeOpenZFSConfiguration$Options": "

To delete the volume's child volumes, snapshots, and clones, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS.

" } }, "DeleteSnapshotRequest": { @@ -951,6 +951,7 @@ "CreateFileSystemOpenZFSConfiguration$DiskIopsConfiguration": null, "OntapFileSystemConfiguration$DiskIopsConfiguration": "

The SSD IOPS configuration for the ONTAP file system, specifying the number of provisioned IOPS and the provision mode.

", "OpenZFSFileSystemConfiguration$DiskIopsConfiguration": null, + "UpdateFileSystemOntapConfiguration$DiskIopsConfiguration": "

The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage capacity, but you can provision additional IOPS per GB of storage. The configuration consists of an IOPS mode (AUTOMATIC or USER_PROVISIONED), and in the case of USER_PROVISIONED IOPS, the total number of SSD IOPS provisioned.

", "UpdateFileSystemOpenZFSConfiguration$DiskIopsConfiguration": null } }, @@ -1147,7 +1148,7 @@ "refs": { "CreateFileSystemFromBackupRequest$FileSystemTypeVersion": "

Sets the version for the Amazon FSx for Lustre file system that you're creating from a backup. Valid values are 2.10 and 2.12.

You don't need to specify FileSystemTypeVersion because it will be applied using the backup's FileSystemTypeVersion setting. If you choose to specify FileSystemTypeVersion when creating from backup, the value must match the backup's FileSystemTypeVersion setting.

", "CreateFileSystemRequest$FileSystemTypeVersion": "

(Optional) For FSx for Lustre file systems, sets the Lustre version for the file system that you're creating. Valid values are 2.10 and 2.12:

Default value = 2.10, except when DeploymentType is set to PERSISTENT_2, then the default is 2.12.

If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 Lustre deployment type, the CreateFileSystem operation fails.

", - "FileSystem$FileSystemTypeVersion": "

The Lustre version of the Amazon FSx for Lustrefile system, either 2.10 or 2.12.

" + "FileSystem$FileSystemTypeVersion": "

The Lustre version of the Amazon FSx for Lustre file system, either 2.10 or 2.12.

" } }, "FileSystems": { @@ -1376,7 +1377,7 @@ "LustreDeploymentType": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$DeploymentType": "

(Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage and shorter-term processing of data. The SCRATCH_2 deployment type provides in-transit encryption of data and higher burst throughput capacity than SCRATCH_1.

Choose PERSISTENT_1 for longer-term storage and for throughput-focused workloads that aren’t latency-sensitive. a. PERSISTENT_1 supports encryption of data in transit, and is available in all Amazon Web Services Regions in which FSx for Lustre is available.

Choose PERSISTENT_2 for longer-term storage and for latency-sensitive workloads that require the highest levels of IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). PERSISTENT_2 is available in a limited number of Amazon Web Services Regions. For more information, and an up-to-date list of Amazon Web Services Regions in which PERSISTENT_2 is available, see File system deployment options for FSx for Lustre in the Amazon FSx for Lustre User Guide.

If you choose PERSISTENT_2, and you set FileSystemTypeVersion to 2.10, the CreateFileSystem operation fails.

Encryption of data in transit is automatically turned on when you access SCRATCH_2, PERSISTENT_1 and PERSISTENT_2 file systems from Amazon EC2 instances that support automatic encryption in the Amazon Web Services Regions where they are available. For more information about encryption in transit for FSx for Lustre file systems, see Encrypting data in transit in the Amazon FSx for Lustre User Guide.

(Default = SCRATCH_1)

", + "CreateFileSystemLustreConfiguration$DeploymentType": "

(Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage and shorter-term processing of data. The SCRATCH_2 deployment type provides in-transit encryption of data and higher burst throughput capacity than SCRATCH_1.

Choose PERSISTENT_1 for longer-term storage and for throughput-focused workloads that aren’t latency-sensitive. PERSISTENT_1 supports encryption of data in transit, and is available in all Amazon Web Services Regions in which FSx for Lustre is available.

Choose PERSISTENT_2 for longer-term storage and for latency-sensitive workloads that require the highest levels of IOPS/throughput. PERSISTENT_2 supports SSD storage, and offers higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). PERSISTENT_2 is available in a limited number of Amazon Web Services Regions. For more information, and an up-to-date list of Amazon Web Services Regions in which PERSISTENT_2 is available, see File system deployment options for FSx for Lustre in the Amazon FSx for Lustre User Guide.

If you choose PERSISTENT_2, and you set FileSystemTypeVersion to 2.10, the CreateFileSystem operation fails.

Encryption of data in transit is automatically turned on when you access SCRATCH_2, PERSISTENT_1 and PERSISTENT_2 file systems from Amazon EC2 instances that support automatic encryption in the Amazon Web Services Regions where they are available. For more information about encryption in transit for FSx for Lustre file systems, see Encrypting data in transit in the Amazon FSx for Lustre User Guide.

(Default = SCRATCH_1)

", "LustreFileSystemConfiguration$DeploymentType": "

The deployment type of the FSx for Lustre file system. Scratch deployment type is designed for temporary storage and shorter-term processing of data.

SCRATCH_1 and SCRATCH_2 deployment types are best suited for when you need temporary storage and shorter-term processing of data. The SCRATCH_2 deployment type provides in-transit encryption of data and higher burst throughput capacity than SCRATCH_1.

The PERSISTENT_1 and PERSISTENT_2 deployment type is used for longer-term storage and workloads and encryption of data in transit. PERSISTENT_2 is built on Lustre v2.12 and offers higher PerUnitStorageThroughput (up to 1000 MB/s/TiB) along with a lower minimum storage capacity requirement (600 GiB). To learn more about FSx for Lustre deployment types, see FSx for Lustre deployment options.

The default is SCRATCH_1.

" } }, @@ -1431,12 +1432,12 @@ "MegabytesPerSecond": { "base": "

The sustained throughput of an Amazon FSx file system in MBps.

", "refs": { - "CreateFileSystemOntapConfiguration$ThroughputCapacity": "

Sets the throughput capacity for the file system that you're creating. Valid values are 512, 1024, and 2048 MBps.

", + "CreateFileSystemOntapConfiguration$ThroughputCapacity": "

Sets the throughput capacity for the file system that you're creating. Valid values are 128, 256, 512, 1024, and 2048 MBps.

", "CreateFileSystemOpenZFSConfiguration$ThroughputCapacity": "

Specifies the throughput of an Amazon FSx for OpenZFS file system, measured in megabytes per second (MB/s). Valid values are 64, 128, 256, 512, 1024, 2048, 3072, or 4096 MB/s. You pay for additional throughput capacity that you provision.

", "CreateFileSystemWindowsConfiguration$ThroughputCapacity": "

Sets the throughput capacity of an Amazon FSx file system, measured in megabytes per second (MB/s), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).

", "OntapFileSystemConfiguration$ThroughputCapacity": null, "OpenZFSFileSystemConfiguration$ThroughputCapacity": "

The throughput of an Amazon FSx file system, measured in megabytes per second (MBps), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).

", - "UpdateFileSystemOpenZFSConfiguration$ThroughputCapacity": "

The throughput of an Amazon FSx file system, measured in megabytes per second (MBps), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).

", + "UpdateFileSystemOpenZFSConfiguration$ThroughputCapacity": "

The throughput of an Amazon FSx file system, measured in megabytes per second (MBps), in 2 to the nth increments, between 2^3 (8) and 2^12 (4096).

", "UpdateFileSystemWindowsConfiguration$ThroughputCapacity": "

Sets the target value for a file system's throughput capacity, in MB/s, that you are updating the file system to. Valid values are 8, 16, 32, 64, 128, 256, 512, 1024, 2048. You cannot make a throughput capacity update request if there is an existing throughput capacity update request in progress. For more information, see Managing Throughput Capacity.

", "WindowsFileSystemConfiguration$ThroughputCapacity": "

The throughput of the Amazon FSx file system, measured in megabytes per second.

" } @@ -1966,14 +1967,14 @@ "refs": { "CreateFileSystemRequest$StorageCapacity": "

Sets the storage capacity of the file system that you're creating, in gibibytes (GiB).

FSx for Lustre file systems - The amount of storage capacity that you can configure depends on the value that you set for StorageType and the Lustre DeploymentType, as follows:

FSx for ONTAP file systems - The amount of storage capacity that you can configure is from 1024 GiB up to 196,608 GiB (192 TiB).

FSx for OpenZFS file systems - The amount of storage capacity that you can configure is from 64 GiB up to 524,288 GiB (512 TiB).

FSx for Windows File Server file systems - The amount of storage capacity that you can configure depends on the value that you set for StorageType as follows:

", "FileSystem$StorageCapacity": "

The storage capacity of the file system in gibibytes (GiB).

", - "UpdateFileSystemRequest$StorageCapacity": "

Use this parameter to increase the storage capacity of an Amazon FSx for Windows File Server or Amazon FSx for Lustre file system. Specifies the storage capacity target value, in GiB, to increase the storage capacity for the file system that you're updating.

You can't make a storage capacity increase request if there is an existing storage capacity increase request in progress.

For Windows file systems, the storage capacity target value must be at least 10 percent greater than the current storage capacity value. To increase storage capacity, the file system must have at least 16 MBps of throughput capacity.

For Lustre file systems, the storage capacity target value can be the following:

For OpenZFS file systems, the input/output operations per second (IOPS) automatically scale with increases to the storage capacity if IOPS is configured for automatic scaling. If the storage capacity increase would result in less than 3 IOPS per GiB of storage, this operation returns an error.

For more information, see Managing storage capacity in the Amazon FSx for Windows File Server User Guide, Managing storage and throughput capacity in the Amazon FSx for Lustre User Guide, and Managing storage capacity in the Amazon FSx for OpenZFS User Guide.

" + "UpdateFileSystemRequest$StorageCapacity": "

Use this parameter to increase the storage capacity of an Amazon FSx for Windows File Server, Amazon FSx for Lustre, or Amazon FSx for NetApp ONTAP file system. Specifies the storage capacity target value, in GiB, to increase the storage capacity for the file system that you're updating.

You can't make a storage capacity increase request if there is an existing storage capacity increase request in progress.

For Windows file systems, the storage capacity target value must be at least 10 percent greater than the current storage capacity value. To increase storage capacity, the file system must have at least 16 MBps of throughput capacity. For more information, see Managing storage capacity in the Amazon FSx for Windows File Server User Guide.

For Lustre file systems, the storage capacity target value can be the following:

For more information, see Managing storage and throughput capacity in the Amazon FSx for Lustre User Guide.

For ONTAP file systems, the storage capacity target value must be at least 10 percent greater than the current storage capacity value. For more information, see Managing storage capacity and provisioned IOPS in the Amazon FSx for NetApp ONTAP User Guide.

" } }, "StorageType": { "base": "

The storage type for your Amazon FSx file system.

", "refs": { "CreateFileSystemFromBackupRequest$StorageType": "

Sets the storage type for the Windows or OpenZFS file system that you're creating from a backup. Valid values are SSD and HDD.

The default value is SSD.

HDD and SSD storage types have different minimum storage capacity requirements. A restored file system's storage capacity is tied to the file system that was backed up. You can create a file system that uses HDD storage from a backup of a file system that used SSD storage if the original SSD file system had a storage capacity of at least 2000 GiB.

", - "CreateFileSystemRequest$StorageType": "

Sets the storage type for the file system that you're creating. Valid values are SSD and HDD.

Default value is SSD. For more information, see Storage type options in the FSx for Windows File Server User Guide and Multiple storage options in the FSx for Lustre User Guide.

", + "CreateFileSystemRequest$StorageType": "

Sets the storage type for the file system that you're creating. Valid values are SSD and HDD.

Default value is SSD. For more information, see Storage type options in the FSx for Windows File Server User Guide and Multiple storage options in the FSx for Lustre User Guide.

", "FileSystem$StorageType": "

The type of storage the file system is using. If set to SSD, the file system uses solid state drive storage. If set to HDD, the file system uses hard disk drive storage.

" } }, @@ -2200,7 +2201,7 @@ } }, "TieringPolicy": { - "base": "

Describes the data tiering policy for an ONTAP volume. When enabled, Amazon FSx for ONTAP's intelligent tiering automatically transitions a volume's data between the file system's primary storage and capacity pool storage based on your access patterns.

", + "base": "

Describes the data tiering policy for an ONTAP volume. When enabled, Amazon FSx for ONTAP's intelligent tiering automatically transitions a volume's data between the file system's primary storage and capacity pool storage based on your access patterns.

Valid tiering policies are the following:

", "refs": { "CreateOntapVolumeConfiguration$TieringPolicy": null, "OntapVolumeConfiguration$TieringPolicy": "

The volume's TieringPolicy setting.

", diff --git a/models/apis/guardduty/2017-11-28/api-2.json b/models/apis/guardduty/2017-11-28/api-2.json index 27abd78c49f..b0defea1fb8 100644 --- a/models/apis/guardduty/2017-11-28/api-2.json +++ b/models/apis/guardduty/2017-11-28/api-2.json @@ -953,6 +953,10 @@ "PortProbeAction":{ "shape":"PortProbeAction", "locationName":"portProbeAction" + }, + "KubernetesApiCallAction":{ + "shape":"KubernetesApiCallAction", + "locationName":"kubernetesApiCallAction" } } }, @@ -1026,6 +1030,10 @@ "shape":"String", "locationName":"errorCode" }, + "UserAgent":{ + "shape":"String", + "locationName":"userAgent" + }, "RemoteIpDetails":{ "shape":"RemoteIpDetails", "locationName":"remoteIpDetails" @@ -1190,6 +1198,43 @@ } } }, + "Container":{ + "type":"structure", + "members":{ + "ContainerRuntime":{ + "shape":"String", + "locationName":"containerRuntime" + }, + "Id":{ + "shape":"String", + "locationName":"id" + }, + "Name":{ + "shape":"String", + "locationName":"name" + }, + "Image":{ + "shape":"String", + "locationName":"image" + }, + "ImagePrefix":{ + "shape":"String", + "locationName":"imagePrefix" + }, + "VolumeMounts":{ + "shape":"VolumeMounts", + "locationName":"volumeMounts" + }, + "SecurityContext":{ + "shape":"SecurityContext", + "locationName":"securityContext" + } + } + }, + "Containers":{ + "type":"list", + "member":{"shape":"Container"} + }, "CountBySeverity":{ "type":"map", "key":{"shape":"String"}, @@ -1509,7 +1554,8 @@ "FLOW_LOGS", "CLOUD_TRAIL", "DNS_LOGS", - "S3_LOGS" + "S3_LOGS", + "KUBERNETES_AUDIT_LOGS" ] }, "DataSourceConfigurations":{ @@ -1518,6 +1564,10 @@ "S3Logs":{ "shape":"S3LogsConfiguration", "locationName":"s3Logs" + }, + "Kubernetes":{ + "shape":"KubernetesConfiguration", + "locationName":"kubernetes" } } }, @@ -1545,6 +1595,10 @@ "S3Logs":{ "shape":"S3LogsConfigurationResult", "locationName":"s3Logs" + }, + "Kubernetes":{ + "shape":"KubernetesConfigurationResult", + "locationName":"kubernetes" } } }, @@ -1980,6 +2034,35 @@ } }, "Double":{"type":"double"}, + "EksClusterDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "locationName":"name" + }, + "Arn":{ + "shape":"String", + "locationName":"arn" + }, + "VpcId":{ + "shape":"String", + "locationName":"vpcId" + }, + "Status":{ + "shape":"String", + "locationName":"status" + }, + "Tags":{ + "shape":"Tags", + "locationName":"tags" + }, + "CreatedAt":{ + "shape":"Timestamp", + "locationName":"createdAt" + } + } + }, "Email":{ "type":"string", "max":64, @@ -2636,10 +2719,23 @@ } } }, + "Groups":{ + "type":"list", + "member":{"shape":"String"} + }, "GuardDutyArn":{ "type":"string", "pattern":"^arn:[A-Za-z_.-]{1,20}:guardduty:[A-Za-z0-9_/.-]{0,63}:\\d+:detector/[A-Za-z0-9_/.-]{32,264}$" }, + "HostPath":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"String", + "locationName":"path" + } + } + }, "IamInstanceProfile":{ "type":"structure", "members":{ @@ -2826,6 +2922,142 @@ "type":"list", "member":{"shape":"String"} }, + "KubernetesApiCallAction":{ + "type":"structure", + "members":{ + "RequestUri":{ + "shape":"String", + "locationName":"requestUri" + }, + "Verb":{ + "shape":"String", + "locationName":"verb" + }, + "SourceIps":{ + "shape":"SourceIps", + "locationName":"sourceIps" + }, + "UserAgent":{ + "shape":"String", + "locationName":"userAgent" + }, + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "locationName":"remoteIpDetails" + }, + "StatusCode":{ + "shape":"Integer", + "locationName":"statusCode" + }, + "Parameters":{ + "shape":"String", + "locationName":"parameters" + } + } + }, + "KubernetesAuditLogsConfiguration":{ + "type":"structure", + "required":["Enable"], + "members":{ + "Enable":{ + "shape":"Boolean", + "locationName":"enable" + } + } + }, + "KubernetesAuditLogsConfigurationResult":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"DataSourceStatus", + "locationName":"status" + } + } + }, + "KubernetesConfiguration":{ + "type":"structure", + "required":["AuditLogs"], + "members":{ + "AuditLogs":{ + "shape":"KubernetesAuditLogsConfiguration", + "locationName":"auditLogs" + } + } + }, + "KubernetesConfigurationResult":{ + "type":"structure", + "required":["AuditLogs"], + "members":{ + "AuditLogs":{ + "shape":"KubernetesAuditLogsConfigurationResult", + "locationName":"auditLogs" + } + } + }, + "KubernetesDetails":{ + "type":"structure", + "members":{ + "KubernetesUserDetails":{ + "shape":"KubernetesUserDetails", + "locationName":"kubernetesUserDetails" + }, + "KubernetesWorkloadDetails":{ + "shape":"KubernetesWorkloadDetails", + "locationName":"kubernetesWorkloadDetails" + } + } + }, + "KubernetesUserDetails":{ + "type":"structure", + "members":{ + "Username":{ + "shape":"String", + "locationName":"username" + }, + "Uid":{ + "shape":"String", + "locationName":"uid" + }, + "Groups":{ + "shape":"Groups", + "locationName":"groups" + } + } + }, + "KubernetesWorkloadDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "locationName":"name" + }, + "Type":{ + "shape":"String", + "locationName":"type" + }, + "Uid":{ + "shape":"String", + "locationName":"uid" + }, + "Namespace":{ + "shape":"String", + "locationName":"namespace" + }, + "HostNetwork":{ + "shape":"Boolean", + "locationName":"hostNetwork" + }, + "Containers":{ + "shape":"Containers", + "locationName":"containers" + }, + "Volumes":{ + "shape":"Volumes", + "locationName":"volumes" + } + } + }, "ListDetectorsRequest":{ "type":"structure", "members":{ @@ -3403,6 +3635,10 @@ "S3Logs":{ "shape":"OrganizationS3LogsConfiguration", "locationName":"s3Logs" + }, + "Kubernetes":{ + "shape":"OrganizationKubernetesConfiguration", + "locationName":"kubernetes" } } }, @@ -3413,6 +3649,50 @@ "S3Logs":{ "shape":"OrganizationS3LogsConfigurationResult", "locationName":"s3Logs" + }, + "Kubernetes":{ + "shape":"OrganizationKubernetesConfigurationResult", + "locationName":"kubernetes" + } + } + }, + "OrganizationKubernetesAuditLogsConfiguration":{ + "type":"structure", + "required":["AutoEnable"], + "members":{ + "AutoEnable":{ + "shape":"Boolean", + "locationName":"autoEnable" + } + } + }, + "OrganizationKubernetesAuditLogsConfigurationResult":{ + "type":"structure", + "required":["AutoEnable"], + "members":{ + "AutoEnable":{ + "shape":"Boolean", + "locationName":"autoEnable" + } + } + }, + "OrganizationKubernetesConfiguration":{ + "type":"structure", + "required":["AuditLogs"], + "members":{ + "AuditLogs":{ + "shape":"OrganizationKubernetesAuditLogsConfiguration", + "locationName":"auditLogs" + } + } + }, + "OrganizationKubernetesConfigurationResult":{ + "type":"structure", + "required":["AuditLogs"], + "members":{ + "AuditLogs":{ + "shape":"OrganizationKubernetesAuditLogsConfigurationResult", + "locationName":"auditLogs" } } }, @@ -3616,6 +3896,14 @@ "shape":"InstanceDetails", "locationName":"instanceDetails" }, + "EksClusterDetails":{ + "shape":"EksClusterDetails", + "locationName":"eksClusterDetails" + }, + "KubernetesDetails":{ + "shape":"KubernetesDetails", + "locationName":"kubernetesDetails" + }, "ResourceType":{ "shape":"String", "locationName":"resourceType" @@ -3687,6 +3975,15 @@ } } }, + "SecurityContext":{ + "type":"structure", + "members":{ + "Privileged":{ + "shape":"Boolean", + "locationName":"privileged" + } + } + }, "SecurityGroup":{ "type":"structure", "members":{ @@ -3762,6 +4059,10 @@ } } }, + "SourceIps":{ + "type":"list", + "member":{"shape":"String"} + }, "StartMonitoringMembersRequest":{ "type":"structure", "required":[ @@ -4382,6 +4683,40 @@ "locationName":"topResources" } } + }, + "Volume":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "locationName":"name" + }, + "HostPath":{ + "shape":"HostPath", + "locationName":"hostPath" + } + } + }, + "VolumeMount":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "locationName":"name" + }, + "MountPath":{ + "shape":"String", + "locationName":"mountPath" + } + } + }, + "VolumeMounts":{ + "type":"list", + "member":{"shape":"VolumeMount"} + }, + "Volumes":{ + "type":"list", + "member":{"shape":"Volume"} } } } diff --git a/models/apis/guardduty/2017-11-28/docs-2.json b/models/apis/guardduty/2017-11-28/docs-2.json index 360446b2ad1..2e21e37d915 100644 --- a/models/apis/guardduty/2017-11-28/docs-2.json +++ b/models/apis/guardduty/2017-11-28/docs-2.json @@ -200,12 +200,17 @@ "DescribeOrganizationConfigurationResponse$AutoEnable": "

Indicates whether GuardDuty is automatically enabled for accounts added to the organization.

", "DescribeOrganizationConfigurationResponse$MemberAccountLimitReached": "

Indicates whether the maximum number of allowed member accounts are already associated with the delegated administrator account for your organization.

", "InviteMembersRequest$DisableEmailNotification": "

A Boolean value that specifies whether you want to disable email notification to the accounts that you are inviting to GuardDuty as members.

", + "KubernetesAuditLogsConfiguration$Enable": "

The status of Kubernetes audit logs as a data source.

", + "KubernetesWorkloadDetails$HostNetwork": "

Whether the hostNetwork flag is enabled for the pods included in the workload.

", "NetworkConnectionAction$Blocked": "

Indicates whether EC2 blocked the network connection to your instance.

", + "OrganizationKubernetesAuditLogsConfiguration$AutoEnable": "

A value that contains information on whether Kubernetes audit logs should be enabled automatically as a data source for the organization.

", + "OrganizationKubernetesAuditLogsConfigurationResult$AutoEnable": "

Whether Kubernetes audit logs data source should be auto-enabled for new members joining the organization.

", "OrganizationS3LogsConfiguration$AutoEnable": "

A value that contains information on whether S3 data event logs will be enabled automatically as a data source for the organization.

", "OrganizationS3LogsConfigurationResult$AutoEnable": "

A value that describes whether S3 data event logs are automatically enabled for new members of the organization.

", "PortProbeAction$Blocked": "

Indicates whether EC2 blocked the port probe to the instance, such as with an ACL.

", "RemoteAccountDetails$Affiliated": "

Details on whether the Amazon Web Services account of the remote API caller is related to your GuardDuty environment. If this value is True the API caller is affiliated to your account in some way. If it is False the API caller is from outside your environment.

", "S3LogsConfiguration$Enable": "

The status of S3 data event logs as a data source.

", + "SecurityContext$Privileged": "

Whether the container is privileged.

", "Service$Archived": "

Indicates whether this finding is archived.

", "UpdateDetectorRequest$Enable": "

Specifies whether the detector is enabled or not enabled.

", "UpdateIPSetRequest$Activate": "

The updated Boolean value that specifies whether the IPSet is active or not.

", @@ -253,6 +258,18 @@ "Criterion$value": null } }, + "Container": { + "base": "

Details of a container.

", + "refs": { + "Containers$member": null + } + }, + "Containers": { + "base": null, + "refs": { + "KubernetesWorkloadDetails$Containers": "

Containers running as part of the Kubernetes workload.

" + } + }, "CountBySeverity": { "base": null, "refs": { @@ -381,6 +398,7 @@ "CloudTrailConfigurationResult$Status": "

Describes whether CloudTrail is enabled as a data source for the detector.

", "DNSLogsConfigurationResult$Status": "

Denotes whether DNS logs is enabled as a data source.

", "FlowLogsConfigurationResult$Status": "

Denotes whether VPC flow logs is enabled as a data source.

", + "KubernetesAuditLogsConfigurationResult$Status": "

A value that describes whether Kubernetes audit logs are enabled as a data source.

", "S3LogsConfigurationResult$Status": "

A value that describes whether S3 data event logs are automatically enabled for new members of the organization.

" } }, @@ -636,6 +654,12 @@ "GeoLocation$Lon": "

The longitude information of the remote IP address.

" } }, + "EksClusterDetails": { + "base": "

Details about the EKS cluster involved in a Kubernetes finding.

", + "refs": { + "Resource$EksClusterDetails": "

Details about the EKS cluster involved in a Kubernetes finding.

" + } + }, "Email": { "base": null, "refs": { @@ -916,6 +940,12 @@ "refs": { } }, + "Groups": { + "base": null, + "refs": { + "KubernetesUserDetails$Groups": "

The groups that include the user who called the Kubernetes API.

" + } + }, "GuardDutyArn": { "base": null, "refs": { @@ -924,6 +954,12 @@ "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) for the resource to remove tags from.

" } }, + "HostPath": { + "base": "

Represents a pre-existing file or directory on the host machine that the volume maps to.

", + "refs": { + "Volume$HostPath": "

Represents a pre-existing file or directory on the host machine that the volume maps to.

" + } + }, "IamInstanceProfile": { "base": "

Contains information about the EC2 instance profile.

", "refs": { @@ -945,6 +981,7 @@ "Condition$Lte": "

Represents a less than or equal condition to be applied to a single field when querying for findings.

", "CountBySeverity$value": null, "GetInvitationsCountResponse$InvitationsCount": "

The number of received invitations.

", + "KubernetesApiCallAction$StatusCode": "

The resulting HTTP response code of the Kubernetes API call action.

", "LocalPortDetails$Port": "

The port number of the local connection.

", "RemotePortDetails$Port": "

The port number of the remote connection.

", "Service$Count": "

The total count of the occurrences of this finding type.

" @@ -1002,6 +1039,54 @@ "NetworkInterface$Ipv6Addresses": "

A list of IPv6 addresses for the EC2 instance.

" } }, + "KubernetesApiCallAction": { + "base": "

Information about the Kubernetes API call action described in this finding.

", + "refs": { + "Action$KubernetesApiCallAction": "

Information about the Kubernetes API call action described in this finding.

" + } + }, + "KubernetesAuditLogsConfiguration": { + "base": "

Describes whether Kubernetes audit logs are enabled as a data source.

", + "refs": { + "KubernetesConfiguration$AuditLogs": "

The status of Kubernetes audit logs as a data source.

" + } + }, + "KubernetesAuditLogsConfigurationResult": { + "base": "

Describes whether Kubernetes audit logs are enabled as a data source.

", + "refs": { + "KubernetesConfigurationResult$AuditLogs": "

Describes whether Kubernetes audit logs are enabled as a data source.

" + } + }, + "KubernetesConfiguration": { + "base": "

Describes whether any Kubernetes data sources are enabled.

", + "refs": { + "DataSourceConfigurations$Kubernetes": "

Describes whether any Kubernetes logs are enabled as data sources.

" + } + }, + "KubernetesConfigurationResult": { + "base": "

Describes whether any Kubernetes logs will be enabled as a data source.

", + "refs": { + "DataSourceConfigurationsResult$Kubernetes": "

An object that contains information on the status of all Kubernetes data sources.

" + } + }, + "KubernetesDetails": { + "base": "

Details about Kubernetes resources such as a Kubernetes user or workload resource involved in a Kubernetes finding.

", + "refs": { + "Resource$KubernetesDetails": "

Details about the Kubernetes user and workload involved in a Kubernetes finding.

" + } + }, + "KubernetesUserDetails": { + "base": "

Details about the Kubernetes user involved in a Kubernetes finding.

", + "refs": { + "KubernetesDetails$KubernetesUserDetails": "

Details about the Kubernetes user involved in a Kubernetes finding.

" + } + }, + "KubernetesWorkloadDetails": { + "base": "

Details about the Kubernetes workload involved in a Kubernetes finding.

", + "refs": { + "KubernetesDetails$KubernetesWorkloadDetails": "

Details about the Kubernetes workload involved in a Kubernetes finding.

" + } + }, "ListDetectorsRequest": { "base": null, "refs": { @@ -1248,6 +1333,30 @@ "DescribeOrganizationConfigurationResponse$DataSources": "

Describes which data sources are enabled automatically for member accounts.

" } }, + "OrganizationKubernetesAuditLogsConfiguration": { + "base": "

Organization-wide Kubernetes audit logs configuration.

", + "refs": { + "OrganizationKubernetesConfiguration$AuditLogs": "

Whether Kubernetes audit logs data source should be auto-enabled for new members joining the organization.

" + } + }, + "OrganizationKubernetesAuditLogsConfigurationResult": { + "base": "

The current configuration of Kubernetes audit logs as a data source for the organization.

", + "refs": { + "OrganizationKubernetesConfigurationResult$AuditLogs": "

The current configuration of Kubernetes audit logs as a data source for the organization.

" + } + }, + "OrganizationKubernetesConfiguration": { + "base": "

Organization-wide Kubernetes data sources configurations.

", + "refs": { + "OrganizationDataSourceConfigurations$Kubernetes": "

Describes the configuration of Kubernetes data sources for new members of the organization.

" + } + }, + "OrganizationKubernetesConfigurationResult": { + "base": "

The current configuration of all Kubernetes data sources for the organization.

", + "refs": { + "OrganizationDataSourceConfigurationsResult$Kubernetes": "

Describes the configuration of Kubernetes data sources.

" + } + }, "OrganizationS3LogsConfiguration": { "base": "

Describes whether S3 data event logs will be automatically enabled for new members of the organization.

", "refs": { @@ -1337,6 +1446,7 @@ "base": "

Contains information about the remote IP address of the connection.

", "refs": { "AwsApiCallAction$RemoteIpDetails": "

The remote IP information of the connection that initiated the Amazon Web Services API call.

", + "KubernetesApiCallAction$RemoteIpDetails": null, "NetworkConnectionAction$RemoteIpDetails": "

The remote IP information of the connection.

", "PortProbeDetail$RemoteIpDetails": "

The remote IP information of the connection.

" } @@ -1383,6 +1493,12 @@ "DataSourceConfigurationsResult$S3Logs": "

An object that contains information on the status of S3 Data event logs as a data source.

" } }, + "SecurityContext": { + "base": "

Container security context.

", + "refs": { + "Container$SecurityContext": "

Container security context.

" + } + }, "SecurityGroup": { "base": "

Contains information about the security groups associated with the EC2 instance.

", "refs": { @@ -1408,6 +1524,12 @@ "ListFindingsRequest$SortCriteria": "

Represents the criteria used for sorting findings.

" } }, + "SourceIps": { + "base": null, + "refs": { + "KubernetesApiCallAction$SourceIps": "

The IP of the Kubernetes API caller and the IPs of any proxies or load balancers between the caller and the API endpoint.

" + } + }, "StartMonitoringMembersRequest": { "base": null, "refs": { @@ -1442,10 +1564,16 @@ "AwsApiCallAction$Api": "

The Amazon Web Services API name.

", "AwsApiCallAction$CallerType": "

The Amazon Web Services API caller type.

", "AwsApiCallAction$ErrorCode": "

The error code of the failed Amazon Web Services API action.

", + "AwsApiCallAction$UserAgent": null, "AwsApiCallAction$ServiceName": "

The Amazon Web Services service name whose API was invoked.

", "BadRequestException$Message": "

The error message.

", "BadRequestException$Type": "

The error type.

", "City$CityName": "

The city name of the remote IP address.

", + "Container$ContainerRuntime": "

The container runtime (such as, Docker or containerd) used to run the container.

", + "Container$Id": "

Container ID.

", + "Container$Name": "

Container name.

", + "Container$Image": "

Container image.

", + "Container$ImagePrefix": "

Part of the image name before the last slash. For example, imagePrefix for public.ecr.aws/amazonlinux/amazonlinux:latest would be public.ecr.aws/amazonlinux. If the image name is relative and does not have a slash, this field is empty.

", "CountBySeverity$key": null, "Country$CountryCode": "

The country code of the remote IP address.

", "Country$CountryName": "

The country name of the remote IP address.

", @@ -1467,6 +1595,10 @@ "DisableOrganizationAdminAccountRequest$AdminAccountId": "

The Amazon Web Services Account ID for the organizations account to be disabled as a GuardDuty delegated administrator.

", "DnsRequestAction$Domain": "

The domain information for the API request.

", "DomainDetails$Domain": "

The domain information for the Amazon Web Services API call.

", + "EksClusterDetails$Name": "

EKS cluster name.

", + "EksClusterDetails$Arn": "

EKS cluster ARN.

", + "EksClusterDetails$VpcId": "

The VPC ID to which the EKS cluster is attached.

", + "EksClusterDetails$Status": "

The EKS cluster status.

", "EnableOrganizationAdminAccountRequest$AdminAccountId": "

The Amazon Web Services Account ID for the organization account to be enabled as a GuardDuty delegated administrator.

", "Eq$member": null, "Equals$member": null, @@ -1489,6 +1621,8 @@ "GetUsageStatisticsRequest$Unit": "

The currency unit you would like to view your usage statistics in. Current valid values are USD.

", "GetUsageStatisticsRequest$NextToken": "

A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

", "GetUsageStatisticsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", + "Groups$member": null, + "HostPath$Path": "

Path of the file or directory on the host that the volume maps to.

", "IamInstanceProfile$Arn": "

The profile ARN of the EC2 instance.

", "IamInstanceProfile$Id": "

The profile ID of the EC2 instance.

", "InstanceDetails$AvailabilityZone": "

The Availability Zone of the EC2 instance.

", @@ -1508,6 +1642,16 @@ "InviteMembersRequest$Message": "

The invitation message that you want to send to the accounts that you're inviting to GuardDuty as members.

", "IpSetIds$member": null, "Ipv6Addresses$member": null, + "KubernetesApiCallAction$RequestUri": "

The Kubernetes API request URI.

", + "KubernetesApiCallAction$Verb": "

The Kubernetes API request HTTP verb.

", + "KubernetesApiCallAction$UserAgent": "

The user agent of the caller of the Kubernetes API.

", + "KubernetesApiCallAction$Parameters": "

Parameters related to the Kubernetes API call action.

", + "KubernetesUserDetails$Username": "

The username of the user who called the Kubernetes API.

", + "KubernetesUserDetails$Uid": "

The user ID of the user who called the Kubernetes API.

", + "KubernetesWorkloadDetails$Name": "

Kubernetes workload name.

", + "KubernetesWorkloadDetails$Type": "

Kubernetes workload type (e.g. Pod, Deployment, etc.).

", + "KubernetesWorkloadDetails$Uid": "

Kubernetes workload ID.

", + "KubernetesWorkloadDetails$Namespace": "

Kubernetes namespace that the workload is part of.

", "ListDetectorsRequest$NextToken": "

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", "ListDetectorsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "ListFiltersRequest$NextToken": "

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", @@ -1573,6 +1717,7 @@ "Service$ServiceName": "

The name of the Amazon Web Services service (GuardDuty) that generated a finding.

", "Service$UserFeedback": "

Feedback that was submitted about the finding.

", "SortCriteria$AttributeName": "

Represents the finding attribute (for example, accountId) to sort findings by.

", + "SourceIps$member": null, "Tag$Key": "

The EC2 instance tag key.

", "Tag$Value": "

The EC2 instance tag value.

", "ThreatIntelSetIds$member": null, @@ -1586,7 +1731,10 @@ "UpdateIPSetRequest$IpSetId": "

The unique ID that specifies the IPSet that you want to update.

", "UpdatePublishingDestinationRequest$DestinationId": "

The ID of the publishing destination to update.

", "UpdateThreatIntelSetRequest$ThreatIntelSetId": "

The unique ID that specifies the ThreatIntelSet that you want to update.

", - "UsageResourceResult$Resource": "

The Amazon Web Services resource that generated usage.

" + "UsageResourceResult$Resource": "

The Amazon Web Services resource that generated usage.

", + "Volume$Name": "

Volume name.

", + "VolumeMount$Name": "

Volume mount name.

", + "VolumeMount$MountPath": "

Volume mount path.

" } }, "Tag": { @@ -1642,6 +1790,7 @@ "Tags": { "base": null, "refs": { + "EksClusterDetails$Tags": "

The EKS cluster tags.

", "InstanceDetails$Tags": "

The tags of the EC2 instance.

", "S3BucketDetail$Tags": "

All tags attached to the S3 bucket

" } @@ -1686,6 +1835,7 @@ "Timestamp": { "base": null, "refs": { + "EksClusterDetails$CreatedAt": "

The timestamp when the EKS cluster was created.

", "S3BucketDetail$CreatedAt": "

The date and time the bucket was created at.

" } }, @@ -1873,6 +2023,30 @@ "refs": { "GetUsageStatisticsResponse$UsageStatistics": "

The usage statistics object. If a UsageStatisticType was provided, the objects representing other types will be null.

" } + }, + "Volume": { + "base": "

Volume used by the Kubernetes workload.

", + "refs": { + "Volumes$member": null + } + }, + "VolumeMount": { + "base": "

Container volume mount.

", + "refs": { + "VolumeMounts$member": null + } + }, + "VolumeMounts": { + "base": null, + "refs": { + "Container$VolumeMounts": "

Container volume mounts.

" + } + }, + "Volumes": { + "base": null, + "refs": { + "KubernetesWorkloadDetails$Volumes": "

Volumes used by the Kubernetes workload.

" + } } } } diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 0e3d65e1914..9193a46138c 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5638,6 +5638,7 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, @@ -6329,9 +6330,11 @@ }, "kafka" : { "endpoints" : { + "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, diff --git a/service/connect/api.go b/service/connect/api.go index 1fac926c4fa..f56df2a58e1 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -214,6 +214,100 @@ func (c *Connect) AssociateBotWithContext(ctx aws.Context, input *AssociateBotIn return out, req.Send() } +const opAssociateDefaultVocabulary = "AssociateDefaultVocabulary" + +// AssociateDefaultVocabularyRequest generates a "aws/request.Request" representing the +// client's request for the AssociateDefaultVocabulary 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 AssociateDefaultVocabulary for more information on using the AssociateDefaultVocabulary +// 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 AssociateDefaultVocabularyRequest method. +// req, resp := client.AssociateDefaultVocabularyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateDefaultVocabulary +func (c *Connect) AssociateDefaultVocabularyRequest(input *AssociateDefaultVocabularyInput) (req *request.Request, output *AssociateDefaultVocabularyOutput) { + op := &request.Operation{ + Name: opAssociateDefaultVocabulary, + HTTPMethod: "PUT", + HTTPPath: "/default-vocabulary/{InstanceId}/{LanguageCode}", + } + + if input == nil { + input = &AssociateDefaultVocabularyInput{} + } + + output = &AssociateDefaultVocabularyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// AssociateDefaultVocabulary API operation for Amazon Connect Service. +// +// Associates an existing vocabulary as the default. Contact Lens for Amazon +// Connect uses the vocabulary in post-call and real-time analysis sessions +// for the given language. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation AssociateDefaultVocabulary for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// * ThrottlingException +// The throttling limit has been exceeded. +// +// * AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/AssociateDefaultVocabulary +func (c *Connect) AssociateDefaultVocabulary(input *AssociateDefaultVocabularyInput) (*AssociateDefaultVocabularyOutput, error) { + req, out := c.AssociateDefaultVocabularyRequest(input) + return out, req.Send() +} + +// AssociateDefaultVocabularyWithContext is the same as AssociateDefaultVocabulary with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateDefaultVocabulary 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 *Connect) AssociateDefaultVocabularyWithContext(ctx aws.Context, input *AssociateDefaultVocabularyInput, opts ...request.Option) (*AssociateDefaultVocabularyOutput, error) { + req, out := c.AssociateDefaultVocabularyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAssociateInstanceStorageConfig = "AssociateInstanceStorageConfig" // AssociateInstanceStorageConfigRequest generates a "aws/request.Request" representing the @@ -2089,6 +2183,106 @@ func (c *Connect) CreateUserHierarchyGroupWithContext(ctx aws.Context, input *Cr return out, req.Send() } +const opCreateVocabulary = "CreateVocabulary" + +// CreateVocabularyRequest generates a "aws/request.Request" representing the +// client's request for the CreateVocabulary 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 CreateVocabulary for more information on using the CreateVocabulary +// 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 CreateVocabularyRequest method. +// req, resp := client.CreateVocabularyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateVocabulary +func (c *Connect) CreateVocabularyRequest(input *CreateVocabularyInput) (req *request.Request, output *CreateVocabularyOutput) { + op := &request.Operation{ + Name: opCreateVocabulary, + HTTPMethod: "POST", + HTTPPath: "/vocabulary/{InstanceId}", + } + + if input == nil { + input = &CreateVocabularyInput{} + } + + output = &CreateVocabularyOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateVocabulary API operation for Amazon Connect Service. +// +// Creates a custom vocabulary associated with your Amazon Connect instance. +// You can set a custom vocabulary to be your default vocabulary for a given +// language. Contact Lens for Amazon Connect uses the default vocabulary in +// post-call and real-time contact analysis sessions for that language. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation CreateVocabulary for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// * ThrottlingException +// The throttling limit has been exceeded. +// +// * AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// * ResourceConflictException +// A resource already has that name. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/CreateVocabulary +func (c *Connect) CreateVocabulary(input *CreateVocabularyInput) (*CreateVocabularyOutput, error) { + req, out := c.CreateVocabularyRequest(input) + return out, req.Send() +} + +// CreateVocabularyWithContext is the same as CreateVocabulary with the addition of +// the ability to pass a context and additional request options. +// +// See CreateVocabulary 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 *Connect) CreateVocabularyWithContext(ctx aws.Context, input *CreateVocabularyInput, opts ...request.Option) (*CreateVocabularyOutput, error) { + req, out := c.CreateVocabularyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteContactFlow = "DeleteContactFlow" // DeleteContactFlowRequest generates a "aws/request.Request" representing the @@ -3030,6 +3224,100 @@ func (c *Connect) DeleteUserHierarchyGroupWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDeleteVocabulary = "DeleteVocabulary" + +// DeleteVocabularyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteVocabulary 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 DeleteVocabulary for more information on using the DeleteVocabulary +// 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 DeleteVocabularyRequest method. +// req, resp := client.DeleteVocabularyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteVocabulary +func (c *Connect) DeleteVocabularyRequest(input *DeleteVocabularyInput) (req *request.Request, output *DeleteVocabularyOutput) { + op := &request.Operation{ + Name: opDeleteVocabulary, + HTTPMethod: "POST", + HTTPPath: "/vocabulary-remove/{InstanceId}/{VocabularyId}", + } + + if input == nil { + input = &DeleteVocabularyInput{} + } + + output = &DeleteVocabularyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteVocabulary API operation for Amazon Connect Service. +// +// Deletes the vocabulary that has the given identifier. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DeleteVocabulary for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// * ThrottlingException +// The throttling limit has been exceeded. +// +// * AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// * ResourceInUseException +// That resource is already in use. Please try another. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DeleteVocabulary +func (c *Connect) DeleteVocabulary(input *DeleteVocabularyInput) (*DeleteVocabularyOutput, error) { + req, out := c.DeleteVocabularyRequest(input) + return out, req.Send() +} + +// DeleteVocabularyWithContext is the same as DeleteVocabulary with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteVocabulary 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 *Connect) DeleteVocabularyWithContext(ctx aws.Context, input *DeleteVocabularyInput, opts ...request.Option) (*DeleteVocabularyOutput, error) { + req, out := c.DeleteVocabularyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAgentStatus = "DescribeAgentStatus" // DescribeAgentStatusRequest generates a "aws/request.Request" representing the @@ -4425,6 +4713,97 @@ func (c *Connect) DescribeUserHierarchyStructureWithContext(ctx aws.Context, inp return out, req.Send() } +const opDescribeVocabulary = "DescribeVocabulary" + +// DescribeVocabularyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVocabulary 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 DescribeVocabulary for more information on using the DescribeVocabulary +// 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 DescribeVocabularyRequest method. +// req, resp := client.DescribeVocabularyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeVocabulary +func (c *Connect) DescribeVocabularyRequest(input *DescribeVocabularyInput) (req *request.Request, output *DescribeVocabularyOutput) { + op := &request.Operation{ + Name: opDescribeVocabulary, + HTTPMethod: "GET", + HTTPPath: "/vocabulary/{InstanceId}/{VocabularyId}", + } + + if input == nil { + input = &DescribeVocabularyInput{} + } + + output = &DescribeVocabularyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeVocabulary API operation for Amazon Connect Service. +// +// Describes the specified vocabulary. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation DescribeVocabulary for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource was not found. +// +// * InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// * ThrottlingException +// The throttling limit has been exceeded. +// +// * AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/DescribeVocabulary +func (c *Connect) DescribeVocabulary(input *DescribeVocabularyInput) (*DescribeVocabularyOutput, error) { + req, out := c.DescribeVocabularyRequest(input) + return out, req.Send() +} + +// DescribeVocabularyWithContext is the same as DescribeVocabulary with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeVocabulary 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 *Connect) DescribeVocabularyWithContext(ctx aws.Context, input *DescribeVocabularyInput, opts ...request.Option) (*DescribeVocabularyOutput, error) { + req, out := c.DescribeVocabularyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDisassociateApprovedOrigin = "DisassociateApprovedOrigin" // DisassociateApprovedOriginRequest generates a "aws/request.Request" representing the @@ -6578,6 +6957,152 @@ func (c *Connect) ListContactReferencesPagesWithContext(ctx aws.Context, input * return p.Err() } +const opListDefaultVocabularies = "ListDefaultVocabularies" + +// ListDefaultVocabulariesRequest generates a "aws/request.Request" representing the +// client's request for the ListDefaultVocabularies 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 ListDefaultVocabularies for more information on using the ListDefaultVocabularies +// 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 ListDefaultVocabulariesRequest method. +// req, resp := client.ListDefaultVocabulariesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListDefaultVocabularies +func (c *Connect) ListDefaultVocabulariesRequest(input *ListDefaultVocabulariesInput) (req *request.Request, output *ListDefaultVocabulariesOutput) { + op := &request.Operation{ + Name: opListDefaultVocabularies, + HTTPMethod: "POST", + HTTPPath: "/default-vocabulary-summary/{InstanceId}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDefaultVocabulariesInput{} + } + + output = &ListDefaultVocabulariesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDefaultVocabularies API operation for Amazon Connect Service. +// +// Lists the default vocabularies for the specified Amazon Connect instance. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation ListDefaultVocabularies for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// * ThrottlingException +// The throttling limit has been exceeded. +// +// * AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/ListDefaultVocabularies +func (c *Connect) ListDefaultVocabularies(input *ListDefaultVocabulariesInput) (*ListDefaultVocabulariesOutput, error) { + req, out := c.ListDefaultVocabulariesRequest(input) + return out, req.Send() +} + +// ListDefaultVocabulariesWithContext is the same as ListDefaultVocabularies with the addition of +// the ability to pass a context and additional request options. +// +// See ListDefaultVocabularies 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 *Connect) ListDefaultVocabulariesWithContext(ctx aws.Context, input *ListDefaultVocabulariesInput, opts ...request.Option) (*ListDefaultVocabulariesOutput, error) { + req, out := c.ListDefaultVocabulariesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDefaultVocabulariesPages iterates over the pages of a ListDefaultVocabularies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDefaultVocabularies 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 ListDefaultVocabularies operation. +// pageNum := 0 +// err := client.ListDefaultVocabulariesPages(params, +// func(page *connect.ListDefaultVocabulariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Connect) ListDefaultVocabulariesPages(input *ListDefaultVocabulariesInput, fn func(*ListDefaultVocabulariesOutput, bool) bool) error { + return c.ListDefaultVocabulariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDefaultVocabulariesPagesWithContext same as ListDefaultVocabulariesPages 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 *Connect) ListDefaultVocabulariesPagesWithContext(ctx aws.Context, input *ListDefaultVocabulariesInput, fn func(*ListDefaultVocabulariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDefaultVocabulariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDefaultVocabulariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDefaultVocabulariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListHoursOfOperations = "ListHoursOfOperations" // ListHoursOfOperationsRequest generates a "aws/request.Request" representing the @@ -9784,6 +10309,153 @@ func (c *Connect) ResumeContactRecordingWithContext(ctx aws.Context, input *Resu return out, req.Send() } +const opSearchVocabularies = "SearchVocabularies" + +// SearchVocabulariesRequest generates a "aws/request.Request" representing the +// client's request for the SearchVocabularies 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 SearchVocabularies for more information on using the SearchVocabularies +// 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 SearchVocabulariesRequest method. +// req, resp := client.SearchVocabulariesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchVocabularies +func (c *Connect) SearchVocabulariesRequest(input *SearchVocabulariesInput) (req *request.Request, output *SearchVocabulariesOutput) { + op := &request.Operation{ + Name: opSearchVocabularies, + HTTPMethod: "POST", + HTTPPath: "/vocabulary-summary/{InstanceId}", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchVocabulariesInput{} + } + + output = &SearchVocabulariesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchVocabularies API operation for Amazon Connect Service. +// +// Searches for vocabularies within a specific Amazon Connect instance using +// State, NameStartsWith, and LanguageCode. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Connect Service's +// API operation SearchVocabularies for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * InternalServiceException +// Request processing failed because of an error or failure with the service. +// +// * ThrottlingException +// The throttling limit has been exceeded. +// +// * AccessDeniedException +// You do not have sufficient permissions to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/SearchVocabularies +func (c *Connect) SearchVocabularies(input *SearchVocabulariesInput) (*SearchVocabulariesOutput, error) { + req, out := c.SearchVocabulariesRequest(input) + return out, req.Send() +} + +// SearchVocabulariesWithContext is the same as SearchVocabularies with the addition of +// the ability to pass a context and additional request options. +// +// See SearchVocabularies 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 *Connect) SearchVocabulariesWithContext(ctx aws.Context, input *SearchVocabulariesInput, opts ...request.Option) (*SearchVocabulariesOutput, error) { + req, out := c.SearchVocabulariesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchVocabulariesPages iterates over the pages of a SearchVocabularies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchVocabularies 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 SearchVocabularies operation. +// pageNum := 0 +// err := client.SearchVocabulariesPages(params, +// func(page *connect.SearchVocabulariesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Connect) SearchVocabulariesPages(input *SearchVocabulariesInput, fn func(*SearchVocabulariesOutput, bool) bool) error { + return c.SearchVocabulariesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchVocabulariesPagesWithContext same as SearchVocabulariesPages 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 *Connect) SearchVocabulariesPagesWithContext(ctx aws.Context, input *SearchVocabulariesInput, fn func(*SearchVocabulariesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchVocabulariesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchVocabulariesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchVocabulariesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opStartChatContact = "StartChatContact" // StartChatContactRequest generates a "aws/request.Request" representing the @@ -14303,6 +14975,109 @@ func (s AssociateBotOutput) GoString() string { return s.String() } +type AssociateDefaultVocabularyInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + // + // LanguageCode is a required field + LanguageCode *string `location:"uri" locationName:"LanguageCode" type:"string" required:"true" enum:"VocabularyLanguageCode"` + + // The identifier of the custom vocabulary. If this is empty, the default is + // set to none. + VocabularyId *string `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 AssociateDefaultVocabularyInput) 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 AssociateDefaultVocabularyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateDefaultVocabularyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateDefaultVocabularyInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + if s.LanguageCode != nil && len(*s.LanguageCode) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LanguageCode", 1)) + } + if s.VocabularyId != nil && len(*s.VocabularyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VocabularyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AssociateDefaultVocabularyInput) SetInstanceId(v string) *AssociateDefaultVocabularyInput { + s.InstanceId = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *AssociateDefaultVocabularyInput) SetLanguageCode(v string) *AssociateDefaultVocabularyInput { + s.LanguageCode = &v + return s +} + +// SetVocabularyId sets the VocabularyId field's value. +func (s *AssociateDefaultVocabularyInput) SetVocabularyId(v string) *AssociateDefaultVocabularyInput { + s.VocabularyId = &v + return s +} + +type AssociateDefaultVocabularyOutput 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 AssociateDefaultVocabularyOutput) 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 AssociateDefaultVocabularyOutput) GoString() string { + return s.String() +} + type AssociateInstanceStorageConfigInput struct { _ struct{} `type:"structure"` @@ -17836,6 +18611,188 @@ func (s *CreateUserOutput) SetUserId(v string) *CreateUserOutput { return s } +type CreateVocabularyInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. If a create request is received more than once with same + // client token, subsequent requests return the previous response without creating + // a vocabulary again. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The content of the custom vocabulary in plain-text format with a table of + // values. Each row in the table represents a word or a phrase, described with + // Phrase, IPA, SoundsLike, and DisplayAs fields. Separate the fields with TAB + // characters. The size limit is 50KB. For more information, see Create a custom + // vocabulary using a table (https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html#create-vocabulary-table). + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + // + // LanguageCode is a required field + LanguageCode *string `type:"string" required:"true" enum:"VocabularyLanguageCode"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `min:"1" type:"map"` + + // A unique name of the custom vocabulary. + // + // VocabularyName is a required field + VocabularyName *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 CreateVocabularyInput) 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 CreateVocabularyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVocabularyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVocabularyInput"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.LanguageCode == nil { + invalidParams.Add(request.NewErrParamRequired("LanguageCode")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.VocabularyName == nil { + invalidParams.Add(request.NewErrParamRequired("VocabularyName")) + } + if s.VocabularyName != nil && len(*s.VocabularyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VocabularyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateVocabularyInput) SetClientToken(v string) *CreateVocabularyInput { + s.ClientToken = &v + return s +} + +// SetContent sets the Content field's value. +func (s *CreateVocabularyInput) SetContent(v string) *CreateVocabularyInput { + s.Content = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *CreateVocabularyInput) SetInstanceId(v string) *CreateVocabularyInput { + s.InstanceId = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CreateVocabularyInput) SetLanguageCode(v string) *CreateVocabularyInput { + s.LanguageCode = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateVocabularyInput) SetTags(v map[string]*string) *CreateVocabularyInput { + s.Tags = v + return s +} + +// SetVocabularyName sets the VocabularyName field's value. +func (s *CreateVocabularyInput) SetVocabularyName(v string) *CreateVocabularyInput { + s.VocabularyName = &v + return s +} + +type CreateVocabularyOutput struct { + _ struct{} `type:"structure"` + + // The current state of the custom vocabulary. + // + // State is a required field + State *string `type:"string" required:"true" enum:"VocabularyState"` + + // The Amazon Resource Name (ARN) of the custom vocabulary. + // + // VocabularyArn is a required field + VocabularyArn *string `type:"string" required:"true"` + + // The identifier of the custom vocabulary. + // + // VocabularyId is a required field + VocabularyId *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 CreateVocabularyOutput) 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 CreateVocabularyOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *CreateVocabularyOutput) SetState(v string) *CreateVocabularyOutput { + s.State = &v + return s +} + +// SetVocabularyArn sets the VocabularyArn field's value. +func (s *CreateVocabularyOutput) SetVocabularyArn(v string) *CreateVocabularyOutput { + s.VocabularyArn = &v + return s +} + +// SetVocabularyId sets the VocabularyId field's value. +func (s *CreateVocabularyOutput) SetVocabularyId(v string) *CreateVocabularyOutput { + s.VocabularyId = &v + return s +} + // Contains credentials to use for federation. type Credentials struct { _ struct{} `type:"structure"` @@ -18029,6 +18986,75 @@ func (s *CurrentMetricResult) SetDimensions(v *Dimensions) *CurrentMetricResult return s } +// Contains information about a default vocabulary. +type DefaultVocabulary struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + // + // LanguageCode is a required field + LanguageCode *string `type:"string" required:"true" enum:"VocabularyLanguageCode"` + + // The identifier of the custom vocabulary. + // + // VocabularyId is a required field + VocabularyId *string `min:"1" type:"string" required:"true"` + + // A unique name of the custom vocabulary. + // + // VocabularyName is a required field + VocabularyName *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 DefaultVocabulary) 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 DefaultVocabulary) GoString() string { + return s.String() +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DefaultVocabulary) SetInstanceId(v string) *DefaultVocabulary { + s.InstanceId = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *DefaultVocabulary) SetLanguageCode(v string) *DefaultVocabulary { + s.LanguageCode = &v + return s +} + +// SetVocabularyId sets the VocabularyId field's value. +func (s *DefaultVocabulary) SetVocabularyId(v string) *DefaultVocabulary { + s.VocabularyId = &v + return s +} + +// SetVocabularyName sets the VocabularyName field's value. +func (s *DefaultVocabulary) SetVocabularyName(v string) *DefaultVocabulary { + s.VocabularyName = &v + return s +} + type DeleteContactFlowInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -18919,6 +19945,128 @@ func (s DeleteUserOutput) GoString() string { return s.String() } +type DeleteVocabularyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier of the custom vocabulary. + // + // VocabularyId is a required field + VocabularyId *string `location:"uri" locationName:"VocabularyId" 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 DeleteVocabularyInput) 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 DeleteVocabularyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVocabularyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVocabularyInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.VocabularyId == nil { + invalidParams.Add(request.NewErrParamRequired("VocabularyId")) + } + if s.VocabularyId != nil && len(*s.VocabularyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VocabularyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DeleteVocabularyInput) SetInstanceId(v string) *DeleteVocabularyInput { + s.InstanceId = &v + return s +} + +// SetVocabularyId sets the VocabularyId field's value. +func (s *DeleteVocabularyInput) SetVocabularyId(v string) *DeleteVocabularyInput { + s.VocabularyId = &v + return s +} + +type DeleteVocabularyOutput struct { + _ struct{} `type:"structure"` + + // The current state of the custom vocabulary. + // + // State is a required field + State *string `type:"string" required:"true" enum:"VocabularyState"` + + // The Amazon Resource Name (ARN) of the custom vocabulary. + // + // VocabularyArn is a required field + VocabularyArn *string `type:"string" required:"true"` + + // The identifier of the custom vocabulary. + // + // VocabularyId is a required field + VocabularyId *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 DeleteVocabularyOutput) 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 DeleteVocabularyOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *DeleteVocabularyOutput) SetState(v string) *DeleteVocabularyOutput { + s.State = &v + return s +} + +// SetVocabularyArn sets the VocabularyArn field's value. +func (s *DeleteVocabularyOutput) SetVocabularyArn(v string) *DeleteVocabularyOutput { + s.VocabularyArn = &v + return s +} + +// SetVocabularyId sets the VocabularyId field's value. +func (s *DeleteVocabularyOutput) SetVocabularyId(v string) *DeleteVocabularyOutput { + s.VocabularyId = &v + return s +} + type DescribeAgentStatusInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -20369,6 +21517,108 @@ func (s *DescribeUserOutput) SetUser(v *User) *DescribeUserOutput { return s } +type DescribeVocabularyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The identifier of the custom vocabulary. + // + // VocabularyId is a required field + VocabularyId *string `location:"uri" locationName:"VocabularyId" 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 DescribeVocabularyInput) 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 DescribeVocabularyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeVocabularyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVocabularyInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.VocabularyId == nil { + invalidParams.Add(request.NewErrParamRequired("VocabularyId")) + } + if s.VocabularyId != nil && len(*s.VocabularyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VocabularyId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *DescribeVocabularyInput) SetInstanceId(v string) *DescribeVocabularyInput { + s.InstanceId = &v + return s +} + +// SetVocabularyId sets the VocabularyId field's value. +func (s *DescribeVocabularyInput) SetVocabularyId(v string) *DescribeVocabularyInput { + s.VocabularyId = &v + return s +} + +type DescribeVocabularyOutput struct { + _ struct{} `type:"structure"` + + // A list of specific words that you want Contact Lens for Amazon Connect to + // recognize in your audio input. They are generally domain-specific words and + // phrases, words that Contact Lens is not recognizing, or proper nouns. + // + // Vocabulary is a required field + Vocabulary *Vocabulary `type:"structure" 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 DescribeVocabularyOutput) 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 DescribeVocabularyOutput) GoString() string { + return s.String() +} + +// SetVocabulary sets the Vocabulary field's value. +func (s *DescribeVocabularyOutput) SetVocabulary(v *Vocabulary) *DescribeVocabularyOutput { + s.Vocabulary = v + return s +} + // Outbound calls to the destination number are not allowed. type DestinationNotAllowedException struct { _ struct{} `type:"structure"` @@ -25120,6 +26370,133 @@ func (s *ListContactReferencesOutput) SetReferenceSummaryList(v []*ReferenceSumm return s } +type ListDefaultVocabulariesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + LanguageCode *string `type:"string" enum:"VocabularyLanguageCode"` + + // The maximum number of results to return per page. + MaxResults *int64 `min:"1" type:"integer"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `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 ListDefaultVocabulariesInput) 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 ListDefaultVocabulariesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDefaultVocabulariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDefaultVocabulariesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ListDefaultVocabulariesInput) SetInstanceId(v string) *ListDefaultVocabulariesInput { + s.InstanceId = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *ListDefaultVocabulariesInput) SetLanguageCode(v string) *ListDefaultVocabulariesInput { + s.LanguageCode = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListDefaultVocabulariesInput) SetMaxResults(v int64) *ListDefaultVocabulariesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDefaultVocabulariesInput) SetNextToken(v string) *ListDefaultVocabulariesInput { + s.NextToken = &v + return s +} + +type ListDefaultVocabulariesOutput struct { + _ struct{} `type:"structure"` + + // A list of default vocabularies. + // + // DefaultVocabularyList is a required field + DefaultVocabularyList []*DefaultVocabulary `type:"list" required:"true"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `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 ListDefaultVocabulariesOutput) 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 ListDefaultVocabulariesOutput) GoString() string { + return s.String() +} + +// SetDefaultVocabularyList sets the DefaultVocabularyList field's value. +func (s *ListDefaultVocabulariesOutput) SetDefaultVocabularyList(v []*DefaultVocabulary) *ListDefaultVocabulariesOutput { + s.DefaultVocabularyList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDefaultVocabulariesOutput) SetNextToken(v string) *ListDefaultVocabulariesOutput { + s.NextToken = &v + return s +} + type ListHoursOfOperationsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -29422,6 +30799,152 @@ func (s *S3Config) SetEncryptionConfig(v *EncryptionConfig) *S3Config { return s } +type SearchVocabulariesInput struct { + _ struct{} `type:"structure"` + + // The identifier of the Amazon Connect instance. You can find the instanceId + // in the ARN of the instance. + // + // InstanceId is a required field + InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + LanguageCode *string `type:"string" enum:"VocabularyLanguageCode"` + + // The maximum number of results to return per page. + MaxResults *int64 `min:"1" type:"integer"` + + // The starting pattern of the name of the vocabulary. + NameStartsWith *string `min:"1" type:"string"` + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string `min:"1" type:"string"` + + // The current state of the custom vocabulary. + State *string `type:"string" enum:"VocabularyState"` +} + +// 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 SearchVocabulariesInput) 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 SearchVocabulariesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchVocabulariesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchVocabulariesInput"} + if s.InstanceId == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceId")) + } + if s.InstanceId != nil && len(*s.InstanceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NameStartsWith != nil && len(*s.NameStartsWith) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NameStartsWith", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInstanceId sets the InstanceId field's value. +func (s *SearchVocabulariesInput) SetInstanceId(v string) *SearchVocabulariesInput { + s.InstanceId = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *SearchVocabulariesInput) SetLanguageCode(v string) *SearchVocabulariesInput { + s.LanguageCode = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchVocabulariesInput) SetMaxResults(v int64) *SearchVocabulariesInput { + s.MaxResults = &v + return s +} + +// SetNameStartsWith sets the NameStartsWith field's value. +func (s *SearchVocabulariesInput) SetNameStartsWith(v string) *SearchVocabulariesInput { + s.NameStartsWith = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchVocabulariesInput) SetNextToken(v string) *SearchVocabulariesInput { + s.NextToken = &v + return s +} + +// SetState sets the State field's value. +func (s *SearchVocabulariesInput) SetState(v string) *SearchVocabulariesInput { + s.State = &v + return s +} + +type SearchVocabulariesOutput struct { + _ struct{} `type:"structure"` + + // If there are additional results, this is the token for the next set of results. + NextToken *string `min:"1" type:"string"` + + // The list of the available custom vocabularies. + VocabularySummaryList []*VocabularySummary `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 SearchVocabulariesOutput) 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 SearchVocabulariesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchVocabulariesOutput) SetNextToken(v string) *SearchVocabulariesOutput { + s.NextToken = &v + return s +} + +// SetVocabularySummaryList sets the VocabularySummaryList field's value. +func (s *SearchVocabulariesOutput) SetVocabularySummaryList(v []*VocabularySummary) *SearchVocabulariesOutput { + s.VocabularySummaryList = v + return s +} + // Configuration information of the security key. type SecurityKey struct { _ struct{} `type:"structure"` @@ -31545,7 +33068,7 @@ type UpdateContactFlowMetadataInput struct { // InstanceId is a required field InstanceId *string `location:"uri" locationName:"InstanceId" min:"1" type:"string" required:"true"` - // TThe name of the contact flow. + // The name of the contact flow. Name *string `min:"1" type:"string"` } @@ -35118,6 +36641,226 @@ func (s *UserSummary) SetUsername(v string) *UserSummary { return s } +// Contains information about a custom vocabulary. +type Vocabulary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom vocabulary. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The content of the custom vocabulary in plain-text format with a table of + // values. Each row in the table represents a word or a phrase, described with + // Phrase, IPA, SoundsLike, and DisplayAs fields. Separate the fields with TAB + // characters. For more information, see Create a custom vocabulary using a + // table (https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html#create-vocabulary-table). + Content *string `min:"1" type:"string"` + + // The reason why the custom vocabulary was not created. + FailureReason *string `type:"string"` + + // The identifier of the custom vocabulary. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + // + // LanguageCode is a required field + LanguageCode *string `type:"string" required:"true" enum:"VocabularyLanguageCode"` + + // The timestamp when the custom vocabulary was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // A unique name of the custom vocabulary. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The current state of the custom vocabulary. + // + // State is a required field + State *string `type:"string" required:"true" enum:"VocabularyState"` + + // The tags used to organize, track, or control access for this resource. + Tags map[string]*string `min:"1" 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 Vocabulary) 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 Vocabulary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Vocabulary) SetArn(v string) *Vocabulary { + s.Arn = &v + return s +} + +// SetContent sets the Content field's value. +func (s *Vocabulary) SetContent(v string) *Vocabulary { + s.Content = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *Vocabulary) SetFailureReason(v string) *Vocabulary { + s.FailureReason = &v + return s +} + +// SetId sets the Id field's value. +func (s *Vocabulary) SetId(v string) *Vocabulary { + s.Id = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *Vocabulary) SetLanguageCode(v string) *Vocabulary { + s.LanguageCode = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *Vocabulary) SetLastModifiedTime(v time.Time) *Vocabulary { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Vocabulary) SetName(v string) *Vocabulary { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *Vocabulary) SetState(v string) *Vocabulary { + s.State = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Vocabulary) SetTags(v map[string]*string) *Vocabulary { + s.Tags = v + return s +} + +// Contains summary information about the custom vocabulary. +type VocabularySummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom vocabulary. + // + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The reason why the custom vocabulary was not created. + FailureReason *string `type:"string"` + + // The identifier of the custom vocabulary. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The language code of the vocabulary entries. For a list of languages and + // their corresponding language codes, see What is Amazon Transcribe? (https://docs.aws.amazon.com/transcribe/latest/dg/transcribe-whatis.html) + // + // LanguageCode is a required field + LanguageCode *string `type:"string" required:"true" enum:"VocabularyLanguageCode"` + + // The timestamp when the custom vocabulary was last modified. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // A unique name of the custom vocabulary. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The current state of the custom vocabulary. + // + // State is a required field + State *string `type:"string" required:"true" enum:"VocabularyState"` +} + +// 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 VocabularySummary) 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 VocabularySummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *VocabularySummary) SetArn(v string) *VocabularySummary { + s.Arn = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *VocabularySummary) SetFailureReason(v string) *VocabularySummary { + s.FailureReason = &v + return s +} + +// SetId sets the Id field's value. +func (s *VocabularySummary) SetId(v string) *VocabularySummary { + s.Id = &v + return s +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *VocabularySummary) SetLanguageCode(v string) *VocabularySummary { + s.LanguageCode = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *VocabularySummary) SetLastModifiedTime(v time.Time) *VocabularySummary { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *VocabularySummary) SetName(v string) *VocabularySummary { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *VocabularySummary) SetState(v string) *VocabularySummary { + s.State = &v + return s +} + // Contains information about the recording configuration settings. type VoiceRecordingConfiguration struct { _ struct{} `type:"structure"` @@ -36948,6 +38691,122 @@ func UseCaseType_Values() []string { } } +const ( + // VocabularyLanguageCodeArAe is a VocabularyLanguageCode enum value + VocabularyLanguageCodeArAe = "ar-AE" + + // VocabularyLanguageCodeDeCh is a VocabularyLanguageCode enum value + VocabularyLanguageCodeDeCh = "de-CH" + + // VocabularyLanguageCodeDeDe is a VocabularyLanguageCode enum value + VocabularyLanguageCodeDeDe = "de-DE" + + // VocabularyLanguageCodeEnAb is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnAb = "en-AB" + + // VocabularyLanguageCodeEnAu is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnAu = "en-AU" + + // VocabularyLanguageCodeEnGb is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnGb = "en-GB" + + // VocabularyLanguageCodeEnIe is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnIe = "en-IE" + + // VocabularyLanguageCodeEnIn is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnIn = "en-IN" + + // VocabularyLanguageCodeEnUs is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnUs = "en-US" + + // VocabularyLanguageCodeEnWl is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEnWl = "en-WL" + + // VocabularyLanguageCodeEsEs is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEsEs = "es-ES" + + // VocabularyLanguageCodeEsUs is a VocabularyLanguageCode enum value + VocabularyLanguageCodeEsUs = "es-US" + + // VocabularyLanguageCodeFrCa is a VocabularyLanguageCode enum value + VocabularyLanguageCodeFrCa = "fr-CA" + + // VocabularyLanguageCodeFrFr is a VocabularyLanguageCode enum value + VocabularyLanguageCodeFrFr = "fr-FR" + + // VocabularyLanguageCodeHiIn is a VocabularyLanguageCode enum value + VocabularyLanguageCodeHiIn = "hi-IN" + + // VocabularyLanguageCodeItIt is a VocabularyLanguageCode enum value + VocabularyLanguageCodeItIt = "it-IT" + + // VocabularyLanguageCodeJaJp is a VocabularyLanguageCode enum value + VocabularyLanguageCodeJaJp = "ja-JP" + + // VocabularyLanguageCodeKoKr is a VocabularyLanguageCode enum value + VocabularyLanguageCodeKoKr = "ko-KR" + + // VocabularyLanguageCodePtBr is a VocabularyLanguageCode enum value + VocabularyLanguageCodePtBr = "pt-BR" + + // VocabularyLanguageCodePtPt is a VocabularyLanguageCode enum value + VocabularyLanguageCodePtPt = "pt-PT" + + // VocabularyLanguageCodeZhCn is a VocabularyLanguageCode enum value + VocabularyLanguageCodeZhCn = "zh-CN" +) + +// VocabularyLanguageCode_Values returns all elements of the VocabularyLanguageCode enum +func VocabularyLanguageCode_Values() []string { + return []string{ + VocabularyLanguageCodeArAe, + VocabularyLanguageCodeDeCh, + VocabularyLanguageCodeDeDe, + VocabularyLanguageCodeEnAb, + VocabularyLanguageCodeEnAu, + VocabularyLanguageCodeEnGb, + VocabularyLanguageCodeEnIe, + VocabularyLanguageCodeEnIn, + VocabularyLanguageCodeEnUs, + VocabularyLanguageCodeEnWl, + VocabularyLanguageCodeEsEs, + VocabularyLanguageCodeEsUs, + VocabularyLanguageCodeFrCa, + VocabularyLanguageCodeFrFr, + VocabularyLanguageCodeHiIn, + VocabularyLanguageCodeItIt, + VocabularyLanguageCodeJaJp, + VocabularyLanguageCodeKoKr, + VocabularyLanguageCodePtBr, + VocabularyLanguageCodePtPt, + VocabularyLanguageCodeZhCn, + } +} + +const ( + // VocabularyStateCreationInProgress is a VocabularyState enum value + VocabularyStateCreationInProgress = "CREATION_IN_PROGRESS" + + // VocabularyStateActive is a VocabularyState enum value + VocabularyStateActive = "ACTIVE" + + // VocabularyStateCreationFailed is a VocabularyState enum value + VocabularyStateCreationFailed = "CREATION_FAILED" + + // VocabularyStateDeleteInProgress is a VocabularyState enum value + VocabularyStateDeleteInProgress = "DELETE_IN_PROGRESS" +) + +// VocabularyState_Values returns all elements of the VocabularyState enum +func VocabularyState_Values() []string { + return []string{ + VocabularyStateCreationInProgress, + VocabularyStateActive, + VocabularyStateCreationFailed, + VocabularyStateDeleteInProgress, + } +} + const ( // VoiceRecordingTrackFromAgent is a VoiceRecordingTrack enum value VoiceRecordingTrackFromAgent = "FROM_AGENT" diff --git a/service/connect/connectiface/interface.go b/service/connect/connectiface/interface.go index d75a0743e68..50e087f87f5 100644 --- a/service/connect/connectiface/interface.go +++ b/service/connect/connectiface/interface.go @@ -68,6 +68,10 @@ type ConnectAPI interface { AssociateBotWithContext(aws.Context, *connect.AssociateBotInput, ...request.Option) (*connect.AssociateBotOutput, error) AssociateBotRequest(*connect.AssociateBotInput) (*request.Request, *connect.AssociateBotOutput) + AssociateDefaultVocabulary(*connect.AssociateDefaultVocabularyInput) (*connect.AssociateDefaultVocabularyOutput, error) + AssociateDefaultVocabularyWithContext(aws.Context, *connect.AssociateDefaultVocabularyInput, ...request.Option) (*connect.AssociateDefaultVocabularyOutput, error) + AssociateDefaultVocabularyRequest(*connect.AssociateDefaultVocabularyInput) (*request.Request, *connect.AssociateDefaultVocabularyOutput) + AssociateInstanceStorageConfig(*connect.AssociateInstanceStorageConfigInput) (*connect.AssociateInstanceStorageConfigOutput, error) AssociateInstanceStorageConfigWithContext(aws.Context, *connect.AssociateInstanceStorageConfigInput, ...request.Option) (*connect.AssociateInstanceStorageConfigOutput, error) AssociateInstanceStorageConfigRequest(*connect.AssociateInstanceStorageConfigInput) (*request.Request, *connect.AssociateInstanceStorageConfigOutput) @@ -144,6 +148,10 @@ type ConnectAPI interface { CreateUserHierarchyGroupWithContext(aws.Context, *connect.CreateUserHierarchyGroupInput, ...request.Option) (*connect.CreateUserHierarchyGroupOutput, error) CreateUserHierarchyGroupRequest(*connect.CreateUserHierarchyGroupInput) (*request.Request, *connect.CreateUserHierarchyGroupOutput) + CreateVocabulary(*connect.CreateVocabularyInput) (*connect.CreateVocabularyOutput, error) + CreateVocabularyWithContext(aws.Context, *connect.CreateVocabularyInput, ...request.Option) (*connect.CreateVocabularyOutput, error) + CreateVocabularyRequest(*connect.CreateVocabularyInput) (*request.Request, *connect.CreateVocabularyOutput) + DeleteContactFlow(*connect.DeleteContactFlowInput) (*connect.DeleteContactFlowOutput, error) DeleteContactFlowWithContext(aws.Context, *connect.DeleteContactFlowInput, ...request.Option) (*connect.DeleteContactFlowOutput, error) DeleteContactFlowRequest(*connect.DeleteContactFlowInput) (*request.Request, *connect.DeleteContactFlowOutput) @@ -184,6 +192,10 @@ type ConnectAPI interface { DeleteUserHierarchyGroupWithContext(aws.Context, *connect.DeleteUserHierarchyGroupInput, ...request.Option) (*connect.DeleteUserHierarchyGroupOutput, error) DeleteUserHierarchyGroupRequest(*connect.DeleteUserHierarchyGroupInput) (*request.Request, *connect.DeleteUserHierarchyGroupOutput) + DeleteVocabulary(*connect.DeleteVocabularyInput) (*connect.DeleteVocabularyOutput, error) + DeleteVocabularyWithContext(aws.Context, *connect.DeleteVocabularyInput, ...request.Option) (*connect.DeleteVocabularyOutput, error) + DeleteVocabularyRequest(*connect.DeleteVocabularyInput) (*request.Request, *connect.DeleteVocabularyOutput) + DescribeAgentStatus(*connect.DescribeAgentStatusInput) (*connect.DescribeAgentStatusOutput, error) DescribeAgentStatusWithContext(aws.Context, *connect.DescribeAgentStatusInput, ...request.Option) (*connect.DescribeAgentStatusOutput, error) DescribeAgentStatusRequest(*connect.DescribeAgentStatusInput) (*request.Request, *connect.DescribeAgentStatusOutput) @@ -244,6 +256,10 @@ type ConnectAPI interface { DescribeUserHierarchyStructureWithContext(aws.Context, *connect.DescribeUserHierarchyStructureInput, ...request.Option) (*connect.DescribeUserHierarchyStructureOutput, error) DescribeUserHierarchyStructureRequest(*connect.DescribeUserHierarchyStructureInput) (*request.Request, *connect.DescribeUserHierarchyStructureOutput) + DescribeVocabulary(*connect.DescribeVocabularyInput) (*connect.DescribeVocabularyOutput, error) + DescribeVocabularyWithContext(aws.Context, *connect.DescribeVocabularyInput, ...request.Option) (*connect.DescribeVocabularyOutput, error) + DescribeVocabularyRequest(*connect.DescribeVocabularyInput) (*request.Request, *connect.DescribeVocabularyOutput) + DisassociateApprovedOrigin(*connect.DisassociateApprovedOriginInput) (*connect.DisassociateApprovedOriginOutput, error) DisassociateApprovedOriginWithContext(aws.Context, *connect.DisassociateApprovedOriginInput, ...request.Option) (*connect.DisassociateApprovedOriginOutput, error) DisassociateApprovedOriginRequest(*connect.DisassociateApprovedOriginInput) (*request.Request, *connect.DisassociateApprovedOriginOutput) @@ -340,6 +356,13 @@ type ConnectAPI interface { ListContactReferencesPages(*connect.ListContactReferencesInput, func(*connect.ListContactReferencesOutput, bool) bool) error ListContactReferencesPagesWithContext(aws.Context, *connect.ListContactReferencesInput, func(*connect.ListContactReferencesOutput, bool) bool, ...request.Option) error + ListDefaultVocabularies(*connect.ListDefaultVocabulariesInput) (*connect.ListDefaultVocabulariesOutput, error) + ListDefaultVocabulariesWithContext(aws.Context, *connect.ListDefaultVocabulariesInput, ...request.Option) (*connect.ListDefaultVocabulariesOutput, error) + ListDefaultVocabulariesRequest(*connect.ListDefaultVocabulariesInput) (*request.Request, *connect.ListDefaultVocabulariesOutput) + + ListDefaultVocabulariesPages(*connect.ListDefaultVocabulariesInput, func(*connect.ListDefaultVocabulariesOutput, bool) bool) error + ListDefaultVocabulariesPagesWithContext(aws.Context, *connect.ListDefaultVocabulariesInput, func(*connect.ListDefaultVocabulariesOutput, bool) bool, ...request.Option) error + ListHoursOfOperations(*connect.ListHoursOfOperationsInput) (*connect.ListHoursOfOperationsOutput, error) ListHoursOfOperationsWithContext(aws.Context, *connect.ListHoursOfOperationsInput, ...request.Option) (*connect.ListHoursOfOperationsOutput, error) ListHoursOfOperationsRequest(*connect.ListHoursOfOperationsInput) (*request.Request, *connect.ListHoursOfOperationsOutput) @@ -488,6 +511,13 @@ type ConnectAPI interface { ResumeContactRecordingWithContext(aws.Context, *connect.ResumeContactRecordingInput, ...request.Option) (*connect.ResumeContactRecordingOutput, error) ResumeContactRecordingRequest(*connect.ResumeContactRecordingInput) (*request.Request, *connect.ResumeContactRecordingOutput) + SearchVocabularies(*connect.SearchVocabulariesInput) (*connect.SearchVocabulariesOutput, error) + SearchVocabulariesWithContext(aws.Context, *connect.SearchVocabulariesInput, ...request.Option) (*connect.SearchVocabulariesOutput, error) + SearchVocabulariesRequest(*connect.SearchVocabulariesInput) (*request.Request, *connect.SearchVocabulariesOutput) + + SearchVocabulariesPages(*connect.SearchVocabulariesInput, func(*connect.SearchVocabulariesOutput, bool) bool) error + SearchVocabulariesPagesWithContext(aws.Context, *connect.SearchVocabulariesInput, func(*connect.SearchVocabulariesOutput, bool) bool, ...request.Option) error + StartChatContact(*connect.StartChatContactInput) (*connect.StartChatContactOutput, error) StartChatContactWithContext(aws.Context, *connect.StartChatContactInput, ...request.Option) (*connect.StartChatContactOutput, error) StartChatContactRequest(*connect.StartChatContactInput) (*request.Request, *connect.StartChatContactOutput) diff --git a/service/efs/api.go b/service/efs/api.go index 211956b6c70..4ba68f60b75 100644 --- a/service/efs/api.go +++ b/service/efs/api.go @@ -507,6 +507,170 @@ func (c *EFS) CreateMountTargetWithContext(ctx aws.Context, input *CreateMountTa return out, req.Send() } +const opCreateReplicationConfiguration = "CreateReplicationConfiguration" + +// CreateReplicationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateReplicationConfiguration 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 CreateReplicationConfiguration for more information on using the CreateReplicationConfiguration +// 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 CreateReplicationConfigurationRequest method. +// req, resp := client.CreateReplicationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateReplicationConfiguration +func (c *EFS) CreateReplicationConfigurationRequest(input *CreateReplicationConfigurationInput) (req *request.Request, output *CreateReplicationConfigurationOutput) { + op := &request.Operation{ + Name: opCreateReplicationConfiguration, + HTTPMethod: "POST", + HTTPPath: "/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration", + } + + if input == nil { + input = &CreateReplicationConfigurationInput{} + } + + output = &CreateReplicationConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateReplicationConfiguration API operation for Amazon Elastic File System. +// +// Creates a replication configuration that replicates an existing EFS file +// system to a new, read-only file system. For more information, see Amazon +// EFS replication (https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html). +// The replication configuration specifies the following: +// +// * Source file system - an existing EFS file system that you want replicated. +// The source file system cannot be a destination file system in an existing +// replication configuration. +// +// * Destination file system configuration - the configuration of the destination +// file system to which the source file system will be replicated. There +// can only be one destination file system in a replication configuration. +// Amazon Web Services Region - The Amazon Web Services Region in which the +// destination file system is created. EFS Replication is available in all +// Amazon Web Services Region that Amazon EFS is available in, except the +// following regions: Asia Pacific (Hong Kong) Europe (Milan), Middle East +// (Bahrain), Africa (Cape Town), and Asia Pacific (Jakarta). Availability +// zone - If you want the destination file system to use One Zone availability +// and durability, you must specify the Availability Zone to create the file +// system in. For more information about EFS storage classes, see Amazon +// EFS storage classes (https://docs.aws.amazon.com/efs/latest/ug/storage-classes.html) +// in the Amazon EFS User Guide. Encryption - All destination file systems +// are created with encryption at rest enabled. You can specify the KMS key +// that is used to encrypt the destination file system. Your service-managed +// KMS key for Amazon EFS is used if you don't specify a KMS key. You cannot +// change this after the file system is created. +// +// The following properties are set by default: +// +// * Performance mode - The destination file system's performance mode will +// match that of the source file system, unless the destination file system +// uses One Zone storage. In that case, the General Purpose performance mode +// is used. The Performance mode cannot be changed. +// +// * Throughput mode - The destination file system use the Bursting throughput +// mode by default. You can modify the throughput mode once the file system +// is created. +// +// The following properties are turned off by default: +// +// * Lifecycle management - EFS lifecycle management and intelligent tiering +// are not enabled on the destination file system. You can enable EFS lifecycle +// management and intelligent tiering after the destination file system is +// created. +// +// * Automatic backups - Automatic daily backups not enabled on the destination +// file system. You can change this setting after the file system is created. +// +// For more information, see Amazon EFS replication (https://docs.aws.amazon.com/efs/latest/ug/efs-replication.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation CreateReplicationConfiguration for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * IncorrectFileSystemLifeCycleState +// Returned if the file system's lifecycle state is not "available". +// +// * ValidationException +// Returned if the Backup service is not available in the Amazon Web Services +// Region in which the request was made. +// +// * ReplicationNotFound +// Returned if the specified file system did not have a replication configuration. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// Amazon Web Services account. +// +// * UnsupportedAvailabilityZone +// Returned if the requested Amazon EFS functionality is not available in the +// specified Availability Zone. +// +// * FileSystemLimitExceeded +// Returned if the Amazon Web Services account has already created the maximum +// number of file systems allowed per account. +// +// * InsufficientThroughputCapacity +// Returned if there's not enough capacity to provision additional throughput. +// This value might be returned when you try to create a file system in provisioned +// throughput mode, when you attempt to increase the provisioned throughput +// of an existing file system, or when you attempt to change an existing file +// system from bursting to provisioned throughput mode. Try again later. +// +// * ThroughputLimitExceeded +// Returned if the throughput mode or amount of provisioned throughput can't +// be changed because the throughput limit of 1024 MiB/s has been reached. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/CreateReplicationConfiguration +func (c *EFS) CreateReplicationConfiguration(input *CreateReplicationConfigurationInput) (*CreateReplicationConfigurationOutput, error) { + req, out := c.CreateReplicationConfigurationRequest(input) + return out, req.Send() +} + +// CreateReplicationConfigurationWithContext is the same as CreateReplicationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateReplicationConfiguration 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 *EFS) CreateReplicationConfigurationWithContext(ctx aws.Context, input *CreateReplicationConfigurationInput, opts ...request.Option) (*CreateReplicationConfigurationOutput, error) { + req, out := c.CreateReplicationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTags = "CreateTags" // CreateTagsRequest generates a "aws/request.Request" representing the @@ -875,6 +1039,10 @@ func (c *EFS) DeleteFileSystemPolicyRequest(input *DeleteFileSystemPolicyInput) // API operation DeleteFileSystemPolicy for usage and error information. // // Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// // * InternalServerError // Returned if an error occurred on the server side. // @@ -1023,6 +1191,101 @@ func (c *EFS) DeleteMountTargetWithContext(ctx aws.Context, input *DeleteMountTa return out, req.Send() } +const opDeleteReplicationConfiguration = "DeleteReplicationConfiguration" + +// DeleteReplicationConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteReplicationConfiguration 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 DeleteReplicationConfiguration for more information on using the DeleteReplicationConfiguration +// 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 DeleteReplicationConfigurationRequest method. +// req, resp := client.DeleteReplicationConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteReplicationConfiguration +func (c *EFS) DeleteReplicationConfigurationRequest(input *DeleteReplicationConfigurationInput) (req *request.Request, output *DeleteReplicationConfigurationOutput) { + op := &request.Operation{ + Name: opDeleteReplicationConfiguration, + HTTPMethod: "DELETE", + HTTPPath: "/2015-02-01/file-systems/{SourceFileSystemId}/replication-configuration", + } + + if input == nil { + input = &DeleteReplicationConfigurationInput{} + } + + output = &DeleteReplicationConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteReplicationConfiguration API operation for Amazon Elastic File System. +// +// Deletes an existing replication configuration. To delete a replication configuration, +// you must make the request from the Amazon Web Services Region in which the +// destination file system is located. Deleting a replication configuration +// ends the replication process. You can write to the destination file system +// once it's status becomes Writeable. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DeleteReplicationConfiguration for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// Amazon Web Services account. +// +// * ReplicationNotFound +// Returned if the specified file system did not have a replication configuration. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DeleteReplicationConfiguration +func (c *EFS) DeleteReplicationConfiguration(input *DeleteReplicationConfigurationInput) (*DeleteReplicationConfigurationOutput, error) { + req, out := c.DeleteReplicationConfigurationRequest(input) + return out, req.Send() +} + +// DeleteReplicationConfigurationWithContext is the same as DeleteReplicationConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteReplicationConfiguration 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 *EFS) DeleteReplicationConfigurationWithContext(ctx aws.Context, input *DeleteReplicationConfigurationInput, opts ...request.Option) (*DeleteReplicationConfigurationOutput, error) { + req, out := c.DeleteReplicationConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteTags = "DeleteTags" // DeleteTagsRequest generates a "aws/request.Request" representing the @@ -1519,6 +1782,10 @@ func (c *EFS) DescribeFileSystemPolicyRequest(input *DescribeFileSystemPolicyInp // API operation DescribeFileSystemPolicy for usage and error information. // // Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// // * InternalServerError // Returned if an error occurred on the server side. // @@ -2019,6 +2286,102 @@ func (c *EFS) DescribeMountTargetsWithContext(ctx aws.Context, input *DescribeMo return out, req.Send() } +const opDescribeReplicationConfigurations = "DescribeReplicationConfigurations" + +// DescribeReplicationConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeReplicationConfigurations 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 DescribeReplicationConfigurations for more information on using the DescribeReplicationConfigurations +// 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 DescribeReplicationConfigurationsRequest method. +// req, resp := client.DescribeReplicationConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeReplicationConfigurations +func (c *EFS) DescribeReplicationConfigurationsRequest(input *DescribeReplicationConfigurationsInput) (req *request.Request, output *DescribeReplicationConfigurationsOutput) { + op := &request.Operation{ + Name: opDescribeReplicationConfigurations, + HTTPMethod: "GET", + HTTPPath: "/2015-02-01/file-systems/replication-configurations", + } + + if input == nil { + input = &DescribeReplicationConfigurationsInput{} + } + + output = &DescribeReplicationConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeReplicationConfigurations API operation for Amazon Elastic File System. +// +// Retrieves the replication configurations for either a specific file system, +// or all configurations for the Amazon Web Services account in an Amazon Web +// Services Region if a file system is not specified. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Elastic File System's +// API operation DescribeReplicationConfigurations for usage and error information. +// +// Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// +// * FileSystemNotFound +// Returned if the specified FileSystemId value doesn't exist in the requester's +// Amazon Web Services account. +// +// * InternalServerError +// Returned if an error occurred on the server side. +// +// * ReplicationNotFound +// Returned if the specified file system did not have a replication configuration. +// +// * ValidationException +// Returned if the Backup service is not available in the Amazon Web Services +// Region in which the request was made. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01/DescribeReplicationConfigurations +func (c *EFS) DescribeReplicationConfigurations(input *DescribeReplicationConfigurationsInput) (*DescribeReplicationConfigurationsOutput, error) { + req, out := c.DescribeReplicationConfigurationsRequest(input) + return out, req.Send() +} + +// DescribeReplicationConfigurationsWithContext is the same as DescribeReplicationConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeReplicationConfigurations 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 *EFS) DescribeReplicationConfigurationsWithContext(ctx aws.Context, input *DescribeReplicationConfigurationsInput, opts ...request.Option) (*DescribeReplicationConfigurationsOutput, error) { + req, out := c.DescribeReplicationConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeTags = "DescribeTags" // DescribeTagsRequest generates a "aws/request.Request" representing the @@ -2707,6 +3070,10 @@ func (c *EFS) PutFileSystemPolicyRequest(input *PutFileSystemPolicyInput) (req * // API operation PutFileSystemPolicy for usage and error information. // // Returned Error Types: +// * BadRequest +// Returned if the request is malformed or contains an error such as an invalid +// parameter value or a missing required parameter. +// // * InternalServerError // Returned if an error occurred on the server side. // @@ -3170,9 +3537,19 @@ type AccessPointAlreadyExists struct { // AccessPointId is a required field AccessPointId *string `type:"string" required:"true"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -3354,9 +3731,19 @@ type AccessPointLimitExceeded struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -3422,9 +3809,19 @@ type AccessPointNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -3492,8 +3889,17 @@ type AvailabilityZonesMismatch struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. ErrorCode *string `min:"1" type:"string"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -3616,9 +4022,19 @@ type BadRequest struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -3937,7 +4353,7 @@ type CreateFileSystemInput struct { // Default is false. However, if you specify an AvailabilityZoneName, the default // is true. // - // Backup is not available in all Amazon Web Services Regionswhere Amazon EFS + // Backup is not available in all Amazon Web Services Regions where Amazon EFS // is available. Backup *bool `type:"boolean"` @@ -3946,16 +4362,16 @@ type CreateFileSystemInput struct { CreationToken *string `min:"1" type:"string" idempotencyToken:"true"` // A Boolean value that, if true, creates an encrypted file system. When creating - // an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId - // for an existing Key Management Service (KMS customer master key (CMK). If - // you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, - // is used to protect the encrypted file system. + // an encrypted file system, you have the option of specifying an existing Key + // Management Service key (KMS key). If you don't specify a KMS key, then the + // default KMS key for Amazon EFS, /aws/elasticfilesystem, is used to protect + // the encrypted file system. Encrypted *bool `type:"boolean"` - // The ID of the KMS CMK that you want to use to protect the encrypted file + // The ID of the KMS key that you want to use to protect the encrypted file // system. This parameter is only required if you want to use a non-default - // KMS key. If this parameter is not specified, the default CMK for Amazon EFS - // is used. This ID can be in one of the following formats: + // KMS key. If this parameter is not specified, the default KMS key for Amazon + // EFS is used. You can specify a KMS key ID using the following formats: // // * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. // @@ -3966,11 +4382,11 @@ type CreateFileSystemInput struct { // // * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. // - // If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter - // must be set to true. + // If you use KmsKeyId, you must set the CreateFileSystemRequest$Encrypted parameter + // to true. // // EFS accepts only symmetric KMS keys. You cannot use asymmetric KMS keys with - // EFS file systems. + // Amazon EFS file systems. KmsKeyId *string `type:"string"` // The performance mode of the file system. We recommend generalPurpose performance @@ -4198,10 +4614,176 @@ func (s *CreateMountTargetInput) SetSubnetId(v string) *CreateMountTargetInput { return s } -type CreateTagsInput struct { +type CreateReplicationConfigurationInput struct { _ struct{} `type:"structure"` - // The ID of the file system whose tags you want to modify (String). This operation + // An array of destination configuration objects. Only one destination configuration + // object is supported. + // + // Destinations is a required field + Destinations []*DestinationToCreate `type:"list" required:"true"` + + // Specifies the Amazon EFS file system that you want to replicate. This file + // system cannot already be a source or destination file system in another replication + // configuration. + // + // SourceFileSystemId is a required field + SourceFileSystemId *string `location:"uri" locationName:"SourceFileSystemId" 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 CreateReplicationConfigurationInput) 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 CreateReplicationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateReplicationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReplicationConfigurationInput"} + if s.Destinations == nil { + invalidParams.Add(request.NewErrParamRequired("Destinations")) + } + if s.SourceFileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("SourceFileSystemId")) + } + if s.SourceFileSystemId != nil && len(*s.SourceFileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceFileSystemId", 1)) + } + if s.Destinations != nil { + for i, v := range s.Destinations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinations sets the Destinations field's value. +func (s *CreateReplicationConfigurationInput) SetDestinations(v []*DestinationToCreate) *CreateReplicationConfigurationInput { + s.Destinations = v + return s +} + +// SetSourceFileSystemId sets the SourceFileSystemId field's value. +func (s *CreateReplicationConfigurationInput) SetSourceFileSystemId(v string) *CreateReplicationConfigurationInput { + s.SourceFileSystemId = &v + return s +} + +type CreateReplicationConfigurationOutput struct { + _ struct{} `type:"structure"` + + // Describes when the replication configuration was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Array of destination objects. Only one destination object is supported. + // + // Destinations is a required field + Destinations []*Destination `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the original source Amazon EFS file system + // in the replication configuration. + // + // OriginalSourceFileSystemArn is a required field + OriginalSourceFileSystemArn *string `type:"string" required:"true"` + + // The ARN of the current source file system in the replication configuration. + // + // SourceFileSystemArn is a required field + SourceFileSystemArn *string `type:"string" required:"true"` + + // The ID of the source Amazon EFS file system that is being replicated. + // + // SourceFileSystemId is a required field + SourceFileSystemId *string `type:"string" required:"true"` + + // The Amazon Web Services Region in which the source Amazon EFS file system + // is located. + // + // SourceFileSystemRegion is a required field + SourceFileSystemRegion *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 CreateReplicationConfigurationOutput) 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 CreateReplicationConfigurationOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateReplicationConfigurationOutput) SetCreationTime(v time.Time) *CreateReplicationConfigurationOutput { + s.CreationTime = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *CreateReplicationConfigurationOutput) SetDestinations(v []*Destination) *CreateReplicationConfigurationOutput { + s.Destinations = v + return s +} + +// SetOriginalSourceFileSystemArn sets the OriginalSourceFileSystemArn field's value. +func (s *CreateReplicationConfigurationOutput) SetOriginalSourceFileSystemArn(v string) *CreateReplicationConfigurationOutput { + s.OriginalSourceFileSystemArn = &v + return s +} + +// SetSourceFileSystemArn sets the SourceFileSystemArn field's value. +func (s *CreateReplicationConfigurationOutput) SetSourceFileSystemArn(v string) *CreateReplicationConfigurationOutput { + s.SourceFileSystemArn = &v + return s +} + +// SetSourceFileSystemId sets the SourceFileSystemId field's value. +func (s *CreateReplicationConfigurationOutput) SetSourceFileSystemId(v string) *CreateReplicationConfigurationOutput { + s.SourceFileSystemId = &v + return s +} + +// SetSourceFileSystemRegion sets the SourceFileSystemRegion field's value. +func (s *CreateReplicationConfigurationOutput) SetSourceFileSystemRegion(v string) *CreateReplicationConfigurationOutput { + s.SourceFileSystemRegion = &v + return s +} + +type CreateTagsInput struct { + _ struct{} `type:"structure"` + + // The ID of the file system whose tags you want to modify (String). This operation // modifies the tags only, not the file system. // // FileSystemId is a required field @@ -4671,6 +5253,77 @@ func (s DeleteMountTargetOutput) GoString() string { return s.String() } +type DeleteReplicationConfigurationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the source file system in the replication configuration. + // + // SourceFileSystemId is a required field + SourceFileSystemId *string `location:"uri" locationName:"SourceFileSystemId" 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 DeleteReplicationConfigurationInput) 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 DeleteReplicationConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteReplicationConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationConfigurationInput"} + if s.SourceFileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("SourceFileSystemId")) + } + if s.SourceFileSystemId != nil && len(*s.SourceFileSystemId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceFileSystemId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceFileSystemId sets the SourceFileSystemId field's value. +func (s *DeleteReplicationConfigurationInput) SetSourceFileSystemId(v string) *DeleteReplicationConfigurationInput { + s.SourceFileSystemId = &v + return s +} + +type DeleteReplicationConfigurationOutput 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 DeleteReplicationConfigurationOutput) 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 DeleteReplicationConfigurationOutput) GoString() string { + return s.String() +} + type DeleteTagsInput struct { _ struct{} `type:"structure"` @@ -4765,9 +5418,19 @@ type DependencyTimeout struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -5668,6 +6331,115 @@ func (s *DescribeMountTargetsOutput) SetNextMarker(v string) *DescribeMountTarge return s } +type DescribeReplicationConfigurationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // You can retrieve replication configurations for a specific file system by + // providing a file system ID. + FileSystemId *string `location:"querystring" locationName:"FileSystemId" type:"string"` + + // (Optional) You can optionally specify the MaxItems parameter to limit the + // number of objects returned in a response. The default value is 100. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // NextToken is present if the response is paginated. You can use NextMarker + // in a subsequent request to fetch the next page of output. + NextToken *string `location:"querystring" locationName:"NextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeReplicationConfigurationsInput) 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 DescribeReplicationConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeReplicationConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeReplicationConfigurationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *DescribeReplicationConfigurationsInput) SetFileSystemId(v string) *DescribeReplicationConfigurationsInput { + s.FileSystemId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeReplicationConfigurationsInput) SetMaxResults(v int64) *DescribeReplicationConfigurationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeReplicationConfigurationsInput) SetNextToken(v string) *DescribeReplicationConfigurationsInput { + s.NextToken = &v + return s +} + +type DescribeReplicationConfigurationsOutput struct { + _ struct{} `type:"structure"` + + // You can use the NextToken from the previous response in a subsequent request + // to fetch the additional descriptions. + NextToken *string `min:"1" type:"string"` + + // The collection of replication configurations returned. + Replications []*ReplicationConfigurationDescription `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 DescribeReplicationConfigurationsOutput) 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 DescribeReplicationConfigurationsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeReplicationConfigurationsOutput) SetNextToken(v string) *DescribeReplicationConfigurationsOutput { + s.NextToken = &v + return s +} + +// SetReplications sets the Replications field's value. +func (s *DescribeReplicationConfigurationsOutput) SetReplications(v []*ReplicationConfigurationDescription) *DescribeReplicationConfigurationsOutput { + s.Replications = v + return s +} + type DescribeTagsInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -5800,18 +6572,175 @@ func (s *DescribeTagsOutput) SetTags(v []*Tag) *DescribeTagsOutput { return s } +// Describes the destination file system in the replication configuration. +type Destination struct { + _ struct{} `type:"structure"` + + // The ID of the destination Amazon EFS file system. + // + // FileSystemId is a required field + FileSystemId *string `type:"string" required:"true"` + + // The time when the most recent sync successfully completed on the destination + // file system. Any changes to data on the source file system that occurred + // prior to this time were successfully replicated to the destination file system. + // Any changes that occurred after this time might not be fully replicated. + LastReplicatedTimestamp *time.Time `type:"timestamp"` + + // The Amazon Web Services Region in which the destination file system is located. + // + // Region is a required field + Region *string `min:"1" type:"string" required:"true"` + + // Describes the status of the destination Amazon EFS file system. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ReplicationStatus"` +} + +// 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 Destination) 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 Destination) GoString() string { + return s.String() +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *Destination) SetFileSystemId(v string) *Destination { + s.FileSystemId = &v + return s +} + +// SetLastReplicatedTimestamp sets the LastReplicatedTimestamp field's value. +func (s *Destination) SetLastReplicatedTimestamp(v time.Time) *Destination { + s.LastReplicatedTimestamp = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *Destination) SetRegion(v string) *Destination { + s.Region = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Destination) SetStatus(v string) *Destination { + s.Status = &v + return s +} + +// Describes the destination file system to create in the replication configuration. +type DestinationToCreate struct { + _ struct{} `type:"structure"` + + // To create a file system that uses One Zone storage, specify the name of the + // Availability Zone in which to create the destination file system. + AvailabilityZoneName *string `min:"1" type:"string"` + + // Specifies the KMS key you want to use to encrypt the destination file system. + // If you do not specify a KMS key, EFS uses your default KMS key for Amazon + // EFS, /aws/elasticfilesystem. This ID can be in one of the following formats: + // + // * Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab. + // + // * ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + // + // * Key alias - A previously created display name for a key, for example + // alias/projectKey1. + // + // * Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1. + KmsKeyId *string `type:"string"` + + // To create a file system that uses regional storage, specify the Amazon Web + // Services Region in which to create the destination file system. + Region *string `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 DestinationToCreate) 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 DestinationToCreate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DestinationToCreate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DestinationToCreate"} + if s.AvailabilityZoneName != nil && len(*s.AvailabilityZoneName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AvailabilityZoneName", 1)) + } + if s.Region != nil && len(*s.Region) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Region", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZoneName sets the AvailabilityZoneName field's value. +func (s *DestinationToCreate) SetAvailabilityZoneName(v string) *DestinationToCreate { + s.AvailabilityZoneName = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *DestinationToCreate) SetKmsKeyId(v string) *DestinationToCreate { + s.KmsKeyId = &v + return s +} + +// SetRegion sets the Region field's value. +func (s *DestinationToCreate) SetRegion(v string) *DestinationToCreate { + s.Region = &v + return s +} + // Returned if the file system you are trying to create already exists, with // the creation token you provided. type FileSystemAlreadyExists struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -5909,8 +6838,7 @@ type FileSystemDescription struct { // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` - // The ID of an Key Management Service customer master key (CMK) that was used - // to protect the encrypted file system. + // The ID of an KMS key used to protect the encrypted file system. KmsKeyId *string `type:"string"` // The lifecycle phase of the file system. @@ -6094,9 +7022,19 @@ type FileSystemInUse struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6162,9 +7100,19 @@ type FileSystemLimitExceeded struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6230,9 +7178,19 @@ type FileSystemNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6368,9 +7326,19 @@ type IncorrectFileSystemLifeCycleState struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6435,9 +7403,19 @@ type IncorrectMountTargetState struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6506,9 +7484,19 @@ type InsufficientThroughputCapacity struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6573,9 +7561,19 @@ type InternalServerError struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6642,8 +7640,17 @@ type InvalidPolicyException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. ErrorCode *string `min:"1" type:"string"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -6709,9 +7716,19 @@ type IpAddressInUse struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -7029,9 +8046,19 @@ type MountTargetConflict struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -7225,9 +8252,19 @@ type MountTargetNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -7297,9 +8334,19 @@ type NetworkInterfaceLimitExceeded struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -7365,9 +8412,19 @@ type NoFreeAddressesInSubnet struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -7433,8 +8490,17 @@ type PolicyNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. ErrorCode *string `min:"1" type:"string"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -7987,6 +9053,169 @@ func (s *PutLifecycleConfigurationOutput) SetLifecyclePolicies(v []*LifecyclePol return s } +type ReplicationConfigurationDescription struct { + _ struct{} `type:"structure"` + + // Describes when the replication configuration was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // Array of destination objects. Only one destination object is supported. + // + // Destinations is a required field + Destinations []*Destination `type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the original source Amazon EFS file system + // in the replication configuration. + // + // OriginalSourceFileSystemArn is a required field + OriginalSourceFileSystemArn *string `type:"string" required:"true"` + + // The ARN of the current source file system in the replication configuration. + // + // SourceFileSystemArn is a required field + SourceFileSystemArn *string `type:"string" required:"true"` + + // The ID of the source Amazon EFS file system that is being replicated. + // + // SourceFileSystemId is a required field + SourceFileSystemId *string `type:"string" required:"true"` + + // The Amazon Web Services Region in which the source Amazon EFS file system + // is located. + // + // SourceFileSystemRegion is a required field + SourceFileSystemRegion *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 ReplicationConfigurationDescription) 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 ReplicationConfigurationDescription) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ReplicationConfigurationDescription) SetCreationTime(v time.Time) *ReplicationConfigurationDescription { + s.CreationTime = &v + return s +} + +// SetDestinations sets the Destinations field's value. +func (s *ReplicationConfigurationDescription) SetDestinations(v []*Destination) *ReplicationConfigurationDescription { + s.Destinations = v + return s +} + +// SetOriginalSourceFileSystemArn sets the OriginalSourceFileSystemArn field's value. +func (s *ReplicationConfigurationDescription) SetOriginalSourceFileSystemArn(v string) *ReplicationConfigurationDescription { + s.OriginalSourceFileSystemArn = &v + return s +} + +// SetSourceFileSystemArn sets the SourceFileSystemArn field's value. +func (s *ReplicationConfigurationDescription) SetSourceFileSystemArn(v string) *ReplicationConfigurationDescription { + s.SourceFileSystemArn = &v + return s +} + +// SetSourceFileSystemId sets the SourceFileSystemId field's value. +func (s *ReplicationConfigurationDescription) SetSourceFileSystemId(v string) *ReplicationConfigurationDescription { + s.SourceFileSystemId = &v + return s +} + +// SetSourceFileSystemRegion sets the SourceFileSystemRegion field's value. +func (s *ReplicationConfigurationDescription) SetSourceFileSystemRegion(v string) *ReplicationConfigurationDescription { + s.SourceFileSystemRegion = &v + return s +} + +// Returned if the specified file system did not have a replication configuration. +type ReplicationNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // ReplicationNotFound + ErrorCode *string `min:"1" type:"string"` + + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. + 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 ReplicationNotFound) 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 ReplicationNotFound) GoString() string { + return s.String() +} + +func newErrorReplicationNotFound(v protocol.ResponseMetadata) error { + return &ReplicationNotFound{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ReplicationNotFound) Code() string { + return "ReplicationNotFound" +} + +// Message returns the exception's message. +func (s *ReplicationNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ReplicationNotFound) OrigErr() error { + return nil +} + +func (s *ReplicationNotFound) 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 *ReplicationNotFound) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ReplicationNotFound) RequestID() string { + return s.RespMetadata.RequestID +} + // Describes the resource type and its ID preference for the user's Amazon Web // Services account, in the current Amazon Web Services Region. type ResourceIdPreference struct { @@ -8111,9 +9340,19 @@ type SecurityGroupLimitExceeded struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -8179,9 +9418,19 @@ type SecurityGroupNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -8246,9 +9495,19 @@ type SubnetNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -8475,9 +9734,19 @@ type ThroughputLimitExceeded struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -8543,9 +9812,19 @@ type TooManyRequests struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -8611,9 +9890,19 @@ type UnsupportedAvailabilityZone struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -8876,8 +10165,7 @@ type UpdateFileSystemOutput struct { // FileSystemId is a required field FileSystemId *string `type:"string" required:"true"` - // The ID of an Key Management Service customer master key (CMK) that was used - // to protect the encrypted file system. + // The ID of an KMS key used to protect the encrypted file system. KmsKeyId *string `type:"string"` // The lifecycle phase of the file system. @@ -9062,9 +10350,19 @@ type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The error code is a string that uniquely identifies an error condition. It + // is meant to be read and understood by programs that detect and handle errors + // by type. + // // ErrorCode is a required field ErrorCode *string `min:"1" type:"string" required:"true"` + // The error message contains a generic description of the error condition in + // English. It is intended for a human audience. Simple programs display the + // message directly to the end user if they encounter an error condition they + // don't know how or don't care to handle. Sophisticated programs with more + // exhaustive error handling and proper internationalization are more likely + // to ignore the error message. Message_ *string `locationName:"Message" type:"string"` } @@ -9172,6 +10470,30 @@ func PerformanceMode_Values() []string { } } +const ( + // ReplicationStatusEnabled is a ReplicationStatus enum value + ReplicationStatusEnabled = "ENABLED" + + // ReplicationStatusEnabling is a ReplicationStatus enum value + ReplicationStatusEnabling = "ENABLING" + + // ReplicationStatusDeleting is a ReplicationStatus enum value + ReplicationStatusDeleting = "DELETING" + + // ReplicationStatusError is a ReplicationStatus enum value + ReplicationStatusError = "ERROR" +) + +// ReplicationStatus_Values returns all elements of the ReplicationStatus enum +func ReplicationStatus_Values() []string { + return []string{ + ReplicationStatusEnabled, + ReplicationStatusEnabling, + ReplicationStatusDeleting, + ReplicationStatusError, + } +} + // An EFS resource, for example a file system or a mount target. const ( // ResourceFileSystem is a Resource enum value diff --git a/service/efs/doc.go b/service/efs/doc.go index a38d28e11b0..0686cc0e421 100644 --- a/service/efs/doc.go +++ b/service/efs/doc.go @@ -4,11 +4,11 @@ // requests to Amazon Elastic File System. // // Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage -// for use with Amazon EC2 instances in the Amazon Web Services Cloud. With -// Amazon EFS, storage capacity is elastic, growing and shrinking automatically -// as you add and remove files, so your applications have the storage they need, -// when they need it. For more information, see the Amazon Elastic File System -// API Reference (https://docs.aws.amazon.com/efs/latest/ug/api-reference.html) +// for use with Amazon EC2 Linux and Mac instances in the Amazon Web Services +// Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking +// automatically as you add and remove files, so your applications have the +// storage they need, when they need it. For more information, see the Amazon +// Elastic File System API Reference (https://docs.aws.amazon.com/efs/latest/ug/api-reference.html) // and the Amazon Elastic File System User Guide (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html). // // See https://docs.aws.amazon.com/goto/WebAPI/elasticfilesystem-2015-02-01 for more information on this service. diff --git a/service/efs/efsiface/interface.go b/service/efs/efsiface/interface.go index b615d68063e..e38aa0c970b 100644 --- a/service/efs/efsiface/interface.go +++ b/service/efs/efsiface/interface.go @@ -72,6 +72,10 @@ type EFSAPI interface { CreateMountTargetWithContext(aws.Context, *efs.CreateMountTargetInput, ...request.Option) (*efs.MountTargetDescription, error) CreateMountTargetRequest(*efs.CreateMountTargetInput) (*request.Request, *efs.MountTargetDescription) + CreateReplicationConfiguration(*efs.CreateReplicationConfigurationInput) (*efs.CreateReplicationConfigurationOutput, error) + CreateReplicationConfigurationWithContext(aws.Context, *efs.CreateReplicationConfigurationInput, ...request.Option) (*efs.CreateReplicationConfigurationOutput, error) + CreateReplicationConfigurationRequest(*efs.CreateReplicationConfigurationInput) (*request.Request, *efs.CreateReplicationConfigurationOutput) + CreateTags(*efs.CreateTagsInput) (*efs.CreateTagsOutput, error) CreateTagsWithContext(aws.Context, *efs.CreateTagsInput, ...request.Option) (*efs.CreateTagsOutput, error) CreateTagsRequest(*efs.CreateTagsInput) (*request.Request, *efs.CreateTagsOutput) @@ -92,6 +96,10 @@ type EFSAPI interface { DeleteMountTargetWithContext(aws.Context, *efs.DeleteMountTargetInput, ...request.Option) (*efs.DeleteMountTargetOutput, error) DeleteMountTargetRequest(*efs.DeleteMountTargetInput) (*request.Request, *efs.DeleteMountTargetOutput) + DeleteReplicationConfiguration(*efs.DeleteReplicationConfigurationInput) (*efs.DeleteReplicationConfigurationOutput, error) + DeleteReplicationConfigurationWithContext(aws.Context, *efs.DeleteReplicationConfigurationInput, ...request.Option) (*efs.DeleteReplicationConfigurationOutput, error) + DeleteReplicationConfigurationRequest(*efs.DeleteReplicationConfigurationInput) (*request.Request, *efs.DeleteReplicationConfigurationOutput) + DeleteTags(*efs.DeleteTagsInput) (*efs.DeleteTagsOutput, error) DeleteTagsWithContext(aws.Context, *efs.DeleteTagsInput, ...request.Option) (*efs.DeleteTagsOutput, error) DeleteTagsRequest(*efs.DeleteTagsInput) (*request.Request, *efs.DeleteTagsOutput) @@ -134,6 +142,10 @@ type EFSAPI interface { DescribeMountTargetsWithContext(aws.Context, *efs.DescribeMountTargetsInput, ...request.Option) (*efs.DescribeMountTargetsOutput, error) DescribeMountTargetsRequest(*efs.DescribeMountTargetsInput) (*request.Request, *efs.DescribeMountTargetsOutput) + DescribeReplicationConfigurations(*efs.DescribeReplicationConfigurationsInput) (*efs.DescribeReplicationConfigurationsOutput, error) + DescribeReplicationConfigurationsWithContext(aws.Context, *efs.DescribeReplicationConfigurationsInput, ...request.Option) (*efs.DescribeReplicationConfigurationsOutput, error) + DescribeReplicationConfigurationsRequest(*efs.DescribeReplicationConfigurationsInput) (*request.Request, *efs.DescribeReplicationConfigurationsOutput) + DescribeTags(*efs.DescribeTagsInput) (*efs.DescribeTagsOutput, error) DescribeTagsWithContext(aws.Context, *efs.DescribeTagsInput, ...request.Option) (*efs.DescribeTagsOutput, error) DescribeTagsRequest(*efs.DescribeTagsInput) (*request.Request, *efs.DescribeTagsOutput) diff --git a/service/efs/errors.go b/service/efs/errors.go index 817057b2969..1f689e302b9 100644 --- a/service/efs/errors.go +++ b/service/efs/errors.go @@ -161,6 +161,12 @@ const ( // system specified. ErrCodePolicyNotFound = "PolicyNotFound" + // ErrCodeReplicationNotFound for service response error code + // "ReplicationNotFound". + // + // Returned if the specified file system did not have a replication configuration. + ErrCodeReplicationNotFound = "ReplicationNotFound" + // ErrCodeSecurityGroupLimitExceeded for service response error code // "SecurityGroupLimitExceeded". // @@ -232,6 +238,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "NetworkInterfaceLimitExceeded": newErrorNetworkInterfaceLimitExceeded, "NoFreeAddressesInSubnet": newErrorNoFreeAddressesInSubnet, "PolicyNotFound": newErrorPolicyNotFound, + "ReplicationNotFound": newErrorReplicationNotFound, "SecurityGroupLimitExceeded": newErrorSecurityGroupLimitExceeded, "SecurityGroupNotFound": newErrorSecurityGroupNotFound, "SubnetNotFound": newErrorSubnetNotFound, diff --git a/service/fsx/api.go b/service/fsx/api.go index 2586522f796..d55408254e1 100644 --- a/service/fsx/api.go +++ b/service/fsx/api.go @@ -774,6 +774,8 @@ func (c *FSx) CreateFileSystemRequest(input *CreateFileSystemInput) (req *reques // // * Amazon FSx for NetApp ONTAP // +// * Amazon FSx for OpenZFS +// // * Amazon FSx for Windows File Server // // This operation requires a client request token in the request that Amazon @@ -4096,7 +4098,7 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // // * WeeklyMaintenanceStartTime // -// For FSx for Lustre file systems, you can update the following properties: +// For Amazon FSx for Lustre file systems, you can update the following properties: // // * AutoImportPolicy // @@ -4110,14 +4112,19 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // // * WeeklyMaintenanceStartTime // -// For FSx for ONTAP file systems, you can update the following properties: +// For Amazon FSx for NetApp ONTAP file systems, you can update the following +// properties: // // * AutomaticBackupRetentionDays // // * DailyAutomaticBackupStartTime // +// * DiskIopsConfiguration +// // * FsxAdminPassword // +// * StorageCapacity +// // * WeeklyMaintenanceStartTime // // For the Amazon FSx for OpenZFS file systems, you can update the following @@ -4131,8 +4138,6 @@ func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *reques // // * DailyAutomaticBackupStartTime // -// * DiskIopsConfiguration -// // * ThroughputCapacity // // * WeeklyMaintenanceStartTime @@ -4605,20 +4610,18 @@ type AdministrativeAction struct { // // * STORAGE_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase // a file system's storage capacity has been completed successfully, a STORAGE_OPTIMIZATION - // task starts. For Windows, storage optimization is the process of migrating - // the file system data to the new, larger disks. For Lustre, storage optimization - // consists of rebalancing the data across the existing and newly added file - // servers. For OpenZFS, storage optimization consists of migrating data - // from the older smaller disks to the newer larger disks. You can track - // the storage-optimization progress using the ProgressPercent property. - // When STORAGE_OPTIMIZATION has been completed successfully, the parent - // FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, - // see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) + // task starts. For Windows and ONTAP, storage optimization is the process + // of migrating the file system data to newer larger disks. For Lustre, storage + // optimization consists of rebalancing the data across the existing and + // newly added file servers. You can track the storage-optimization progress + // using the ProgressPercent property. When STORAGE_OPTIMIZATION has been + // completed successfully, the parent FILE_SYSTEM_UPDATE action status changes + // to COMPLETED. For more information, see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) // in the Amazon FSx for Windows File Server User Guide, Managing storage // and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html) // in the Amazon FSx for Lustre User Guide, and Managing storage capacity - // (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-storage-capacity.html) - // in the Amazon FSx for OpenZFS User Guide. + // and provisioned IOPS (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html) + // in the Amazon FSx for NetApp ONTAP User Guide. // // * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a // new Domain Name System (DNS) alias with the file system. For more information, @@ -6890,7 +6893,7 @@ type CreateFileSystemInput struct { // Windows, Lustre, ONTAP, and OpenZFS deployment types. // // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 - // and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT + // and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT_1 // Lustre file system deployment types. // // Default value is SSD. For more information, see Storage type options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options) @@ -7175,7 +7178,7 @@ type CreateFileSystemLustreConfiguration struct { // than SCRATCH_1. // // Choose PERSISTENT_1 for longer-term storage and for throughput-focused workloads - // that aren’t latency-sensitive. a. PERSISTENT_1 supports encryption of data + // that aren’t latency-sensitive. PERSISTENT_1 supports encryption of data // in transit, and is available in all Amazon Web Services Regions in which // FSx for Lustre is available. // @@ -7464,7 +7467,7 @@ type CreateFileSystemOntapConfiguration struct { RouteTableIds []*string `type:"list"` // Sets the throughput capacity for the file system that you're creating. Valid - // values are 512, 1024, and 2048 MBps. + // values are 128, 256, 512, 1024, and 2048 MBps. // // ThroughputCapacity is a required field ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` @@ -8072,6 +8075,20 @@ type CreateOntapVolumeConfiguration struct { // FSx for ONTAP's intelligent tiering automatically transitions a volume's // data between the file system's primary storage and capacity pool storage // based on your access patterns. + // + // Valid tiering policies are the following: + // + // * SNAPSHOT_ONLY - (Default value) moves cold snapshots to the capacity + // pool storage tier. + // + // * AUTO - moves cold user data and snapshots to the capacity pool storage + // tier based on your access patterns. + // + // * ALL - moves all user data blocks in both the active file system and + // Snapshot copies to the storage pool tier. + // + // * NONE - keeps a volume's data in the primary storage tier, preventing + // it from being moved to the capacity pool tier. TieringPolicy *TieringPolicy `type:"structure"` } @@ -11226,7 +11243,8 @@ func (s *DeleteVolumeOntapResponse) SetFinalBackupTags(v []*Tag) *DeleteVolumeOn type DeleteVolumeOpenZFSConfiguration struct { _ struct{} `type:"structure"` - // To delete the volume's children and snapshots, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. + // To delete the volume's child volumes, snapshots, and clones, use the string + // DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. Options []*string `type:"list"` } @@ -12467,8 +12485,8 @@ type FileSystem struct { // or OPENZFS. FileSystemType *string `type:"string" enum:"FileSystemType"` - // The Lustre version of the Amazon FSx for Lustrefile system, either 2.10 or - // 2.12. + // The Lustre version of the Amazon FSx for Lustre file system, either 2.10 + // or 2.12. FileSystemTypeVersion *string `min:"1" type:"string"` // The ID of the Key Management Service (KMS) key used to encrypt the file system's @@ -16966,6 +16984,20 @@ func (s TagResourceOutput) GoString() string { // FSx for ONTAP's intelligent tiering automatically transitions a volume's // data between the file system's primary storage and capacity pool storage // based on your access patterns. +// +// Valid tiering policies are the following: +// +// * SNAPSHOT_ONLY - (Default value) moves cold snapshots to the capacity +// pool storage tier. +// +// * AUTO - moves cold user data and snapshots to the capacity pool storage +// tier based on your access patterns. +// +// * ALL - moves all user data blocks in both the active file system and +// Snapshot copies to the storage pool tier. +// +// * NONE - keeps a volume's data in the primary storage tier, preventing +// it from being moved to the capacity pool tier. type TieringPolicy struct { _ struct{} `type:"structure"` @@ -17339,9 +17371,9 @@ type UpdateFileSystemInput struct { OpenZFSConfiguration *UpdateFileSystemOpenZFSConfiguration `type:"structure"` // Use this parameter to increase the storage capacity of an Amazon FSx for - // Windows File Server or Amazon FSx for Lustre file system. Specifies the storage - // capacity target value, in GiB, to increase the storage capacity for the file - // system that you're updating. + // Windows File Server, Amazon FSx for Lustre, or Amazon FSx for NetApp ONTAP + // file system. Specifies the storage capacity target value, in GiB, to increase + // the storage capacity for the file system that you're updating. // // You can't make a storage capacity increase request if there is an existing // storage capacity increase request in progress. @@ -17349,12 +17381,14 @@ type UpdateFileSystemInput struct { // For Windows file systems, the storage capacity target value must be at least // 10 percent greater than the current storage capacity value. To increase storage // capacity, the file system must have at least 16 MBps of throughput capacity. + // For more information, see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) + // in the Amazon FSx for Windows File Server User Guide. // // For Lustre file systems, the storage capacity target value can be the following: // - // * For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are - // in multiples of 2400 GiB. The value must be greater than the current storage - // capacity. + // * For SCRATCH_2, PERSISTENT_1, and PERSISTENT_2 SSD deployment types, + // valid values are in multiples of 2400 GiB. The value must be greater than + // the current storage capacity. // // * For PERSISTENT HDD file systems, valid values are multiples of 6000 // GiB for 12-MBps throughput per TiB file systems and multiples of 1800 @@ -17363,16 +17397,13 @@ type UpdateFileSystemInput struct { // // * For SCRATCH_1 file systems, you can't increase the storage capacity. // - // For OpenZFS file systems, the input/output operations per second (IOPS) automatically - // scale with increases to the storage capacity if IOPS is configured for automatic - // scaling. If the storage capacity increase would result in less than 3 IOPS - // per GiB of storage, this operation returns an error. + // For more information, see Managing storage and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html) + // in the Amazon FSx for Lustre User Guide. // - // For more information, see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) - // in the Amazon FSx for Windows File Server User Guide, Managing storage and - // throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html) - // in the Amazon FSx for Lustre User Guide, and Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-storage-capacity.html) - // in the Amazon FSx for OpenZFS User Guide. + // For ONTAP file systems, the storage capacity target value must be at least + // 10 percent greater than the current storage capacity value. For more information, + // see Managing storage capacity and provisioned IOPS (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html) + // in the Amazon FSx for NetApp ONTAP User Guide. StorageCapacity *int64 `type:"integer"` // The configuration updates for an Amazon FSx for Windows File Server file @@ -17637,6 +17668,13 @@ type UpdateFileSystemOntapConfiguration struct { // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // The SSD IOPS (input/output operations per second) configuration for an Amazon + // FSx for NetApp ONTAP file system. The default is 3 IOPS per GB of storage + // capacity, but you can provision additional IOPS per GB of storage. The configuration + // consists of an IOPS mode (AUTOMATIC or USER_PROVISIONED), and in the case + // of USER_PROVISIONED IOPS, the total number of SSD IOPS provisioned. + DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` + // The ONTAP administrative password for the fsxadmin user. // // FsxAdminPassword is a sensitive parameter and its value will be @@ -17706,6 +17744,12 @@ func (s *UpdateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v return s } +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *UpdateFileSystemOntapConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *UpdateFileSystemOntapConfiguration { + s.DiskIopsConfiguration = v + return s +} + // SetFsxAdminPassword sets the FsxAdminPassword field's value. func (s *UpdateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *UpdateFileSystemOntapConfiguration { s.FsxAdminPassword = &v @@ -17757,7 +17801,7 @@ type UpdateFileSystemOpenZFSConfiguration struct { DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` // The throughput of an Amazon FSx file system, measured in megabytes per second - // (MBps), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048). + // (MBps), in 2 to the nth increments, between 2^3 (8) and 2^12 (4096). ThroughputCapacity *int64 `min:"8" type:"integer"` // A recurring weekly time, in the format D:HH:MM. @@ -19348,20 +19392,18 @@ func ActiveDirectoryErrorType_Values() []string { // // * STORAGE_OPTIMIZATION - After the FILE_SYSTEM_UPDATE task to increase // a file system's storage capacity has been completed successfully, a STORAGE_OPTIMIZATION -// task starts. For Windows, storage optimization is the process of migrating -// the file system data to the new, larger disks. For Lustre, storage optimization -// consists of rebalancing the data across the existing and newly added file -// servers. For OpenZFS, storage optimization consists of migrating data -// from the older smaller disks to the newer larger disks. You can track -// the storage-optimization progress using the ProgressPercent property. -// When STORAGE_OPTIMIZATION has been completed successfully, the parent -// FILE_SYSTEM_UPDATE action status changes to COMPLETED. For more information, -// see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) +// task starts. For Windows and ONTAP, storage optimization is the process +// of migrating the file system data to newer larger disks. For Lustre, storage +// optimization consists of rebalancing the data across the existing and +// newly added file servers. You can track the storage-optimization progress +// using the ProgressPercent property. When STORAGE_OPTIMIZATION has been +// completed successfully, the parent FILE_SYSTEM_UPDATE action status changes +// to COMPLETED. For more information, see Managing storage capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) // in the Amazon FSx for Windows File Server User Guide, Managing storage // and throughput capacity (https://docs.aws.amazon.com/fsx/latest/LustreGuide/managing-storage-capacity.html) // in the Amazon FSx for Lustre User Guide, and Managing storage capacity -// (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-storage-capacity.html) -// in the Amazon FSx for OpenZFS User Guide. +// and provisioned IOPS (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-storage-capacity.html) +// in the Amazon FSx for NetApp ONTAP User Guide. // // * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a // new Domain Name System (DNS) alias with the file system. For more information, diff --git a/service/guardduty/api.go b/service/guardduty/api.go index 811d68c8365..63921b86534 100644 --- a/service/guardduty/api.go +++ b/service/guardduty/api.go @@ -5745,6 +5745,9 @@ type Action struct { // Information about the DNS_REQUEST action described in this finding. DnsRequestAction *DnsRequestAction `locationName:"dnsRequestAction" type:"structure"` + // Information about the Kubernetes API call action described in this finding. + KubernetesApiCallAction *KubernetesApiCallAction `locationName:"kubernetesApiCallAction" type:"structure"` + // Information about the NETWORK_CONNECTION action described in this finding. NetworkConnectionAction *NetworkConnectionAction `locationName:"networkConnectionAction" type:"structure"` @@ -5788,6 +5791,12 @@ func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action { return s } +// SetKubernetesApiCallAction sets the KubernetesApiCallAction field's value. +func (s *Action) SetKubernetesApiCallAction(v *KubernetesApiCallAction) *Action { + s.KubernetesApiCallAction = v + return s +} + // SetNetworkConnectionAction sets the NetworkConnectionAction field's value. func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action { s.NetworkConnectionAction = v @@ -5954,6 +5963,8 @@ type AwsApiCallAction struct { // The Amazon Web Services service name whose API was invoked. ServiceName *string `locationName:"serviceName" type:"string"` + + UserAgent *string `locationName:"userAgent" type:"string"` } // String returns the string representation. @@ -6016,6 +6027,12 @@ func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction { return s } +// SetUserAgent sets the UserAgent field's value. +func (s *AwsApiCallAction) SetUserAgent(v string) *AwsApiCallAction { + s.UserAgent = &v + return s +} + // A bad request exception object. type BadRequestException struct { _ struct{} `type:"structure"` @@ -6461,6 +6478,94 @@ func (s *Condition) SetNotEquals(v []*string) *Condition { return s } +// Details of a container. +type Container struct { + _ struct{} `type:"structure"` + + // The container runtime (such as, Docker or containerd) used to run the container. + ContainerRuntime *string `locationName:"containerRuntime" type:"string"` + + // Container ID. + Id *string `locationName:"id" type:"string"` + + // Container image. + Image *string `locationName:"image" type:"string"` + + // Part of the image name before the last slash. For example, imagePrefix for + // public.ecr.aws/amazonlinux/amazonlinux:latest would be public.ecr.aws/amazonlinux. + // If the image name is relative and does not have a slash, this field is empty. + ImagePrefix *string `locationName:"imagePrefix" type:"string"` + + // Container name. + Name *string `locationName:"name" type:"string"` + + // Container security context. + SecurityContext *SecurityContext `locationName:"securityContext" type:"structure"` + + // Container volume mounts. + VolumeMounts []*VolumeMount `locationName:"volumeMounts" 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 Container) 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 Container) GoString() string { + return s.String() +} + +// SetContainerRuntime sets the ContainerRuntime field's value. +func (s *Container) SetContainerRuntime(v string) *Container { + s.ContainerRuntime = &v + return s +} + +// SetId sets the Id field's value. +func (s *Container) SetId(v string) *Container { + s.Id = &v + return s +} + +// SetImage sets the Image field's value. +func (s *Container) SetImage(v string) *Container { + s.Image = &v + return s +} + +// SetImagePrefix sets the ImagePrefix field's value. +func (s *Container) SetImagePrefix(v string) *Container { + s.ImagePrefix = &v + return s +} + +// SetName sets the Name field's value. +func (s *Container) SetName(v string) *Container { + s.Name = &v + return s +} + +// SetSecurityContext sets the SecurityContext field's value. +func (s *Container) SetSecurityContext(v *SecurityContext) *Container { + s.SecurityContext = v + return s +} + +// SetVolumeMounts sets the VolumeMounts field's value. +func (s *Container) SetVolumeMounts(v []*VolumeMount) *Container { + s.VolumeMounts = v + return s +} + // Contains information about the country where the remote IP address is located. type Country struct { _ struct{} `type:"structure"` @@ -7610,6 +7715,9 @@ func (s *DNSLogsConfigurationResult) SetStatus(v string) *DNSLogsConfigurationRe type DataSourceConfigurations struct { _ struct{} `type:"structure"` + // Describes whether any Kubernetes logs are enabled as data sources. + Kubernetes *KubernetesConfiguration `locationName:"kubernetes" type:"structure"` + // Describes whether S3 data event logs are enabled as a data source. S3Logs *S3LogsConfiguration `locationName:"s3Logs" type:"structure"` } @@ -7635,6 +7743,11 @@ func (s DataSourceConfigurations) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DataSourceConfigurations) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DataSourceConfigurations"} + if s.Kubernetes != nil { + if err := s.Kubernetes.Validate(); err != nil { + invalidParams.AddNested("Kubernetes", err.(request.ErrInvalidParams)) + } + } if s.S3Logs != nil { if err := s.S3Logs.Validate(); err != nil { invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) @@ -7647,6 +7760,12 @@ func (s *DataSourceConfigurations) Validate() error { return nil } +// SetKubernetes sets the Kubernetes field's value. +func (s *DataSourceConfigurations) SetKubernetes(v *KubernetesConfiguration) *DataSourceConfigurations { + s.Kubernetes = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *DataSourceConfigurations) SetS3Logs(v *S3LogsConfiguration) *DataSourceConfigurations { s.S3Logs = v @@ -7674,6 +7793,10 @@ type DataSourceConfigurationsResult struct { // FlowLogs is a required field FlowLogs *FlowLogsConfigurationResult `locationName:"flowLogs" type:"structure" required:"true"` + // An object that contains information on the status of all Kubernetes data + // sources. + Kubernetes *KubernetesConfigurationResult `locationName:"kubernetes" type:"structure"` + // An object that contains information on the status of S3 Data event logs as // a data source. // @@ -7717,6 +7840,12 @@ func (s *DataSourceConfigurationsResult) SetFlowLogs(v *FlowLogsConfigurationRes return s } +// SetKubernetes sets the Kubernetes field's value. +func (s *DataSourceConfigurationsResult) SetKubernetes(v *KubernetesConfigurationResult) *DataSourceConfigurationsResult { + s.Kubernetes = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) *DataSourceConfigurationsResult { s.S3Logs = v @@ -9119,6 +9248,83 @@ func (s *DomainDetails) SetDomain(v string) *DomainDetails { return s } +// Details about the EKS cluster involved in a Kubernetes finding. +type EksClusterDetails struct { + _ struct{} `type:"structure"` + + // EKS cluster ARN. + Arn *string `locationName:"arn" type:"string"` + + // The timestamp when the EKS cluster was created. + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` + + // EKS cluster name. + Name *string `locationName:"name" type:"string"` + + // The EKS cluster status. + Status *string `locationName:"status" type:"string"` + + // The EKS cluster tags. + Tags []*Tag `locationName:"tags" type:"list"` + + // The VPC ID to which the EKS cluster is attached. + VpcId *string `locationName:"vpcId" 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 EksClusterDetails) 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 EksClusterDetails) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *EksClusterDetails) SetArn(v string) *EksClusterDetails { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *EksClusterDetails) SetCreatedAt(v time.Time) *EksClusterDetails { + s.CreatedAt = &v + return s +} + +// SetName sets the Name field's value. +func (s *EksClusterDetails) SetName(v string) *EksClusterDetails { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EksClusterDetails) SetStatus(v string) *EksClusterDetails { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *EksClusterDetails) SetTags(v []*Tag) *EksClusterDetails { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *EksClusterDetails) SetVpcId(v string) *EksClusterDetails { + s.VpcId = &v + return s +} + type EnableOrganizationAdminAccountInput struct { _ struct{} `type:"structure"` @@ -10840,6 +11046,39 @@ func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUs return s } +// Represents a pre-existing file or directory on the host machine that the +// volume maps to. +type HostPath struct { + _ struct{} `type:"structure"` + + // Path of the file or directory on the host that the volume maps to. + Path *string `locationName:"path" 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 HostPath) 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 HostPath) GoString() string { + return s.String() +} + +// SetPath sets the Path field's value. +func (s *HostPath) SetPath(v string) *HostPath { + s.Path = &v + return s +} + // Contains information about the EC2 instance profile. type IamInstanceProfile struct { _ struct{} `type:"structure"` @@ -11272,18 +11511,31 @@ func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *I return s } -type ListDetectorsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Information about the Kubernetes API call action described in this finding. +type KubernetesApiCallAction struct { + _ struct{} `type:"structure"` - // You can use this parameter to indicate the maximum number of items that you - // want in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // Parameters related to the Kubernetes API call action. + Parameters *string `locationName:"parameters" type:"string"` - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Contains information about the remote IP address of the connection. + RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"` + + // The Kubernetes API request URI. + RequestUri *string `locationName:"requestUri" type:"string"` + + // The IP of the Kubernetes API caller and the IPs of any proxies or load balancers + // between the caller and the API endpoint. + SourceIps []*string `locationName:"sourceIps" type:"list"` + + // The resulting HTTP response code of the Kubernetes API call action. + StatusCode *int64 `locationName:"statusCode" type:"integer"` + + // The user agent of the caller of the Kubernetes API. + UserAgent *string `locationName:"userAgent" type:"string"` + + // The Kubernetes API request HTTP verb. + Verb *string `locationName:"verb" type:"string"` } // String returns the string representation. @@ -11291,7 +11543,7 @@ type ListDetectorsInput 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 ListDetectorsInput) String() string { +func (s KubernetesApiCallAction) String() string { return awsutil.Prettify(s) } @@ -11300,46 +11552,60 @@ func (s ListDetectorsInput) 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 ListDetectorsInput) GoString() string { +func (s KubernetesApiCallAction) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListDetectorsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetParameters sets the Parameters field's value. +func (s *KubernetesApiCallAction) SetParameters(v string) *KubernetesApiCallAction { + s.Parameters = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetRemoteIpDetails sets the RemoteIpDetails field's value. +func (s *KubernetesApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *KubernetesApiCallAction { + s.RemoteIpDetails = v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput { - s.MaxResults = &v +// SetRequestUri sets the RequestUri field's value. +func (s *KubernetesApiCallAction) SetRequestUri(v string) *KubernetesApiCallAction { + s.RequestUri = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput { - s.NextToken = &v +// SetSourceIps sets the SourceIps field's value. +func (s *KubernetesApiCallAction) SetSourceIps(v []*string) *KubernetesApiCallAction { + s.SourceIps = v return s } -type ListDetectorsOutput struct { +// SetStatusCode sets the StatusCode field's value. +func (s *KubernetesApiCallAction) SetStatusCode(v int64) *KubernetesApiCallAction { + s.StatusCode = &v + return s +} + +// SetUserAgent sets the UserAgent field's value. +func (s *KubernetesApiCallAction) SetUserAgent(v string) *KubernetesApiCallAction { + s.UserAgent = &v + return s +} + +// SetVerb sets the Verb field's value. +func (s *KubernetesApiCallAction) SetVerb(v string) *KubernetesApiCallAction { + s.Verb = &v + return s +} + +// Describes whether Kubernetes audit logs are enabled as a data source. +type KubernetesAuditLogsConfiguration struct { _ struct{} `type:"structure"` - // A list of detector IDs. + // The status of Kubernetes audit logs as a data source. // - // DetectorIds is a required field - DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"` - - // The pagination parameter to be used on the next list operation to retrieve - // more items. - NextToken *string `locationName:"nextToken" type:"string"` + // Enable is a required field + Enable *bool `locationName:"enable" type:"boolean" required:"true"` } // String returns the string representation. @@ -11347,7 +11613,7 @@ type ListDetectorsOutput 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 ListDetectorsOutput) String() string { +func (s KubernetesAuditLogsConfiguration) String() string { return awsutil.Prettify(s) } @@ -11356,39 +11622,38 @@ func (s ListDetectorsOutput) 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 ListDetectorsOutput) GoString() string { +func (s KubernetesAuditLogsConfiguration) GoString() string { return s.String() } -// SetDetectorIds sets the DetectorIds field's value. -func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput { - s.DetectorIds = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *KubernetesAuditLogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KubernetesAuditLogsConfiguration"} + if s.Enable == nil { + invalidParams.Add(request.NewErrParamRequired("Enable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput { - s.NextToken = &v +// SetEnable sets the Enable field's value. +func (s *KubernetesAuditLogsConfiguration) SetEnable(v bool) *KubernetesAuditLogsConfiguration { + s.Enable = &v return s } -type ListFiltersInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Describes whether Kubernetes audit logs are enabled as a data source. +type KubernetesAuditLogsConfigurationResult struct { + _ struct{} `type:"structure"` - // The unique ID of the detector that the filter is associated with. + // A value that describes whether Kubernetes audit logs are enabled as a data + // source. // - // DetectorId is a required field - DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - - // You can use this parameter to indicate the maximum number of items that you - // want in the response. The default value is 50. The maximum value is 50. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - // You can use this parameter when paginating results. Set the value of this - // parameter to null on your first call to the list action. For subsequent calls - // to the action, fill nextToken in the request with the value of NextToken - // from the previous response to continue listing data. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // Status is a required field + Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"` } // String returns the string representation. @@ -11396,7 +11661,7 @@ type ListFiltersInput 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 ListFiltersInput) String() string { +func (s KubernetesAuditLogsConfigurationResult) String() string { return awsutil.Prettify(s) } @@ -11405,12 +11670,419 @@ func (s ListFiltersInput) 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 ListFiltersInput) GoString() string { +func (s KubernetesAuditLogsConfigurationResult) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListFiltersInput) Validate() error { +// SetStatus sets the Status field's value. +func (s *KubernetesAuditLogsConfigurationResult) SetStatus(v string) *KubernetesAuditLogsConfigurationResult { + s.Status = &v + return s +} + +// Describes whether any Kubernetes data sources are enabled. +type KubernetesConfiguration struct { + _ struct{} `type:"structure"` + + // The status of Kubernetes audit logs as a data source. + // + // AuditLogs is a required field + AuditLogs *KubernetesAuditLogsConfiguration `locationName:"auditLogs" type:"structure" 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 KubernetesConfiguration) 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 KubernetesConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *KubernetesConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "KubernetesConfiguration"} + if s.AuditLogs == nil { + invalidParams.Add(request.NewErrParamRequired("AuditLogs")) + } + if s.AuditLogs != nil { + if err := s.AuditLogs.Validate(); err != nil { + invalidParams.AddNested("AuditLogs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *KubernetesConfiguration) SetAuditLogs(v *KubernetesAuditLogsConfiguration) *KubernetesConfiguration { + s.AuditLogs = v + return s +} + +// Describes whether any Kubernetes logs will be enabled as a data source. +type KubernetesConfigurationResult struct { + _ struct{} `type:"structure"` + + // Describes whether Kubernetes audit logs are enabled as a data source. + // + // AuditLogs is a required field + AuditLogs *KubernetesAuditLogsConfigurationResult `locationName:"auditLogs" type:"structure" 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 KubernetesConfigurationResult) 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 KubernetesConfigurationResult) GoString() string { + return s.String() +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *KubernetesConfigurationResult) SetAuditLogs(v *KubernetesAuditLogsConfigurationResult) *KubernetesConfigurationResult { + s.AuditLogs = v + return s +} + +// Details about Kubernetes resources such as a Kubernetes user or workload +// resource involved in a Kubernetes finding. +type KubernetesDetails struct { + _ struct{} `type:"structure"` + + // Details about the Kubernetes user involved in a Kubernetes finding. + KubernetesUserDetails *KubernetesUserDetails `locationName:"kubernetesUserDetails" type:"structure"` + + // Details about the Kubernetes workload involved in a Kubernetes finding. + KubernetesWorkloadDetails *KubernetesWorkloadDetails `locationName:"kubernetesWorkloadDetails" 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 KubernetesDetails) 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 KubernetesDetails) GoString() string { + return s.String() +} + +// SetKubernetesUserDetails sets the KubernetesUserDetails field's value. +func (s *KubernetesDetails) SetKubernetesUserDetails(v *KubernetesUserDetails) *KubernetesDetails { + s.KubernetesUserDetails = v + return s +} + +// SetKubernetesWorkloadDetails sets the KubernetesWorkloadDetails field's value. +func (s *KubernetesDetails) SetKubernetesWorkloadDetails(v *KubernetesWorkloadDetails) *KubernetesDetails { + s.KubernetesWorkloadDetails = v + return s +} + +// Details about the Kubernetes user involved in a Kubernetes finding. +type KubernetesUserDetails struct { + _ struct{} `type:"structure"` + + // The groups that include the user who called the Kubernetes API. + Groups []*string `locationName:"groups" type:"list"` + + // The user ID of the user who called the Kubernetes API. + Uid *string `locationName:"uid" type:"string"` + + // The username of the user who called the Kubernetes API. + Username *string `locationName:"username" 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 KubernetesUserDetails) 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 KubernetesUserDetails) GoString() string { + return s.String() +} + +// SetGroups sets the Groups field's value. +func (s *KubernetesUserDetails) SetGroups(v []*string) *KubernetesUserDetails { + s.Groups = v + return s +} + +// SetUid sets the Uid field's value. +func (s *KubernetesUserDetails) SetUid(v string) *KubernetesUserDetails { + s.Uid = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *KubernetesUserDetails) SetUsername(v string) *KubernetesUserDetails { + s.Username = &v + return s +} + +// Details about the Kubernetes workload involved in a Kubernetes finding. +type KubernetesWorkloadDetails struct { + _ struct{} `type:"structure"` + + // Containers running as part of the Kubernetes workload. + Containers []*Container `locationName:"containers" type:"list"` + + // Whether the hostNetwork flag is enabled for the pods included in the workload. + HostNetwork *bool `locationName:"hostNetwork" type:"boolean"` + + // Kubernetes workload name. + Name *string `locationName:"name" type:"string"` + + // Kubernetes namespace that the workload is part of. + Namespace *string `locationName:"namespace" type:"string"` + + // Kubernetes workload type (e.g. Pod, Deployment, etc.). + Type *string `locationName:"type" type:"string"` + + // Kubernetes workload ID. + Uid *string `locationName:"uid" type:"string"` + + // Volumes used by the Kubernetes workload. + Volumes []*Volume `locationName:"volumes" 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 KubernetesWorkloadDetails) 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 KubernetesWorkloadDetails) GoString() string { + return s.String() +} + +// SetContainers sets the Containers field's value. +func (s *KubernetesWorkloadDetails) SetContainers(v []*Container) *KubernetesWorkloadDetails { + s.Containers = v + return s +} + +// SetHostNetwork sets the HostNetwork field's value. +func (s *KubernetesWorkloadDetails) SetHostNetwork(v bool) *KubernetesWorkloadDetails { + s.HostNetwork = &v + return s +} + +// SetName sets the Name field's value. +func (s *KubernetesWorkloadDetails) SetName(v string) *KubernetesWorkloadDetails { + s.Name = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *KubernetesWorkloadDetails) SetNamespace(v string) *KubernetesWorkloadDetails { + s.Namespace = &v + return s +} + +// SetType sets the Type field's value. +func (s *KubernetesWorkloadDetails) SetType(v string) *KubernetesWorkloadDetails { + s.Type = &v + return s +} + +// SetUid sets the Uid field's value. +func (s *KubernetesWorkloadDetails) SetUid(v string) *KubernetesWorkloadDetails { + s.Uid = &v + return s +} + +// SetVolumes sets the Volumes field's value. +func (s *KubernetesWorkloadDetails) SetVolumes(v []*Volume) *KubernetesWorkloadDetails { + s.Volumes = v + return s +} + +type ListDetectorsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + 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 ListDetectorsInput) 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 ListDetectorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDetectorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"} + 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 *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput { + s.NextToken = &v + return s +} + +type ListDetectorsOutput struct { + _ struct{} `type:"structure"` + + // A list of detector IDs. + // + // DetectorIds is a required field + DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"` + + // The pagination parameter to be used on the next list operation to retrieve + // more items. + NextToken *string `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 ListDetectorsOutput) 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 ListDetectorsOutput) GoString() string { + return s.String() +} + +// SetDetectorIds sets the DetectorIds field's value. +func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput { + s.DetectorIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput { + s.NextToken = &v + return s +} + +type ListFiltersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID of the detector that the filter is associated with. + // + // DetectorId is a required field + DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` + + // You can use this parameter to indicate the maximum number of items that you + // want in the response. The default value is 50. The maximum value is 50. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // You can use this parameter when paginating results. Set the value of this + // parameter to null on your first call to the list action. For subsequent calls + // to the action, fill nextToken in the request with the value of NextToken + // from the previous response to continue listing data. + 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 ListFiltersInput) 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 ListFiltersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListFiltersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"} if s.DetectorId == nil { invalidParams.Add(request.NewErrParamRequired("DetectorId")) @@ -13015,6 +13687,10 @@ func (s *Organization) SetOrg(v string) *Organization { type OrganizationDataSourceConfigurations struct { _ struct{} `type:"structure"` + // Describes the configuration of Kubernetes data sources for new members of + // the organization. + Kubernetes *OrganizationKubernetesConfiguration `locationName:"kubernetes" type:"structure"` + // Describes whether S3 data event logs are enabled for new members of the organization. S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"` } @@ -13040,6 +13716,11 @@ func (s OrganizationDataSourceConfigurations) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *OrganizationDataSourceConfigurations) Validate() error { invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"} + if s.Kubernetes != nil { + if err := s.Kubernetes.Validate(); err != nil { + invalidParams.AddNested("Kubernetes", err.(request.ErrInvalidParams)) + } + } if s.S3Logs != nil { if err := s.S3Logs.Validate(); err != nil { invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) @@ -13052,6 +13733,12 @@ func (s *OrganizationDataSourceConfigurations) Validate() error { return nil } +// SetKubernetes sets the Kubernetes field's value. +func (s *OrganizationDataSourceConfigurations) SetKubernetes(v *OrganizationKubernetesConfiguration) *OrganizationDataSourceConfigurations { + s.Kubernetes = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations { s.S3Logs = v @@ -13063,6 +13750,9 @@ func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsCo type OrganizationDataSourceConfigurationsResult struct { _ struct{} `type:"structure"` + // Describes the configuration of Kubernetes data sources. + Kubernetes *OrganizationKubernetesConfigurationResult `locationName:"kubernetes" type:"structure"` + // Describes whether S3 data event logs are enabled as a data source. // // S3Logs is a required field @@ -13087,12 +13777,190 @@ func (s OrganizationDataSourceConfigurationsResult) GoString() string { return s.String() } +// SetKubernetes sets the Kubernetes field's value. +func (s *OrganizationDataSourceConfigurationsResult) SetKubernetes(v *OrganizationKubernetesConfigurationResult) *OrganizationDataSourceConfigurationsResult { + s.Kubernetes = v + return s +} + // SetS3Logs sets the S3Logs field's value. func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult { s.S3Logs = v return s } +// Organization-wide Kubernetes audit logs configuration. +type OrganizationKubernetesAuditLogsConfiguration struct { + _ struct{} `type:"structure"` + + // A value that contains information on whether Kubernetes audit logs should + // be enabled automatically as a data source for the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" 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 OrganizationKubernetesAuditLogsConfiguration) 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 OrganizationKubernetesAuditLogsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationKubernetesAuditLogsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationKubernetesAuditLogsConfiguration"} + if s.AutoEnable == nil { + invalidParams.Add(request.NewErrParamRequired("AutoEnable")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationKubernetesAuditLogsConfiguration) SetAutoEnable(v bool) *OrganizationKubernetesAuditLogsConfiguration { + s.AutoEnable = &v + return s +} + +// The current configuration of Kubernetes audit logs as a data source for the +// organization. +type OrganizationKubernetesAuditLogsConfigurationResult struct { + _ struct{} `type:"structure"` + + // Whether Kubernetes audit logs data source should be auto-enabled for new + // members joining the organization. + // + // AutoEnable is a required field + AutoEnable *bool `locationName:"autoEnable" type:"boolean" 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 OrganizationKubernetesAuditLogsConfigurationResult) 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 OrganizationKubernetesAuditLogsConfigurationResult) GoString() string { + return s.String() +} + +// SetAutoEnable sets the AutoEnable field's value. +func (s *OrganizationKubernetesAuditLogsConfigurationResult) SetAutoEnable(v bool) *OrganizationKubernetesAuditLogsConfigurationResult { + s.AutoEnable = &v + return s +} + +// Organization-wide Kubernetes data sources configurations. +type OrganizationKubernetesConfiguration struct { + _ struct{} `type:"structure"` + + // Whether Kubernetes audit logs data source should be auto-enabled for new + // members joining the organization. + // + // AuditLogs is a required field + AuditLogs *OrganizationKubernetesAuditLogsConfiguration `locationName:"auditLogs" type:"structure" 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 OrganizationKubernetesConfiguration) 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 OrganizationKubernetesConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OrganizationKubernetesConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OrganizationKubernetesConfiguration"} + if s.AuditLogs == nil { + invalidParams.Add(request.NewErrParamRequired("AuditLogs")) + } + if s.AuditLogs != nil { + if err := s.AuditLogs.Validate(); err != nil { + invalidParams.AddNested("AuditLogs", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *OrganizationKubernetesConfiguration) SetAuditLogs(v *OrganizationKubernetesAuditLogsConfiguration) *OrganizationKubernetesConfiguration { + s.AuditLogs = v + return s +} + +// The current configuration of all Kubernetes data sources for the organization. +type OrganizationKubernetesConfigurationResult struct { + _ struct{} `type:"structure"` + + // The current configuration of Kubernetes audit logs as a data source for the + // organization. + // + // AuditLogs is a required field + AuditLogs *OrganizationKubernetesAuditLogsConfigurationResult `locationName:"auditLogs" type:"structure" 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 OrganizationKubernetesConfigurationResult) 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 OrganizationKubernetesConfigurationResult) GoString() string { + return s.String() +} + +// SetAuditLogs sets the AuditLogs field's value. +func (s *OrganizationKubernetesConfigurationResult) SetAuditLogs(v *OrganizationKubernetesAuditLogsConfigurationResult) *OrganizationKubernetesConfigurationResult { + s.AuditLogs = v + return s +} + // Describes whether S3 data event logs will be automatically enabled for new // members of the organization. type OrganizationS3LogsConfiguration struct { @@ -13631,10 +14499,16 @@ type Resource struct { // in the activity that prompted GuardDuty to generate a finding. AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"` + // Details about the EKS cluster involved in a Kubernetes finding. + EksClusterDetails *EksClusterDetails `locationName:"eksClusterDetails" type:"structure"` + // The information about the EC2 instance associated with the activity that // prompted GuardDuty to generate a finding. InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"` + // Details about the Kubernetes user and workload involved in a Kubernetes finding. + KubernetesDetails *KubernetesDetails `locationName:"kubernetesDetails" type:"structure"` + // The type of Amazon Web Services resource. ResourceType *string `locationName:"resourceType" type:"string"` @@ -13666,12 +14540,24 @@ func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource { return s } +// SetEksClusterDetails sets the EksClusterDetails field's value. +func (s *Resource) SetEksClusterDetails(v *EksClusterDetails) *Resource { + s.EksClusterDetails = v + return s +} + // SetInstanceDetails sets the InstanceDetails field's value. func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource { s.InstanceDetails = v return s } +// SetKubernetesDetails sets the KubernetesDetails field's value. +func (s *Resource) SetKubernetesDetails(v *KubernetesDetails) *Resource { + s.KubernetesDetails = v + return s +} + // SetResourceType sets the ResourceType field's value. func (s *Resource) SetResourceType(v string) *Resource { s.ResourceType = &v @@ -13861,6 +14747,38 @@ func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResu return s } +// Container security context. +type SecurityContext struct { + _ struct{} `type:"structure"` + + // Whether the container is privileged. + Privileged *bool `locationName:"privileged" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SecurityContext) 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 SecurityContext) GoString() string { + return s.String() +} + +// SetPrivileged sets the Privileged field's value. +func (s *SecurityContext) SetPrivileged(v bool) *SecurityContext { + s.Privileged = &v + return s +} + // Contains information about the security groups associated with the EC2 instance. type SecurityGroup struct { _ struct{} `type:"structure"` @@ -15861,6 +16779,89 @@ func (s *UsageStatistics) SetTopResources(v []*UsageResourceResult) *UsageStatis return s } +// Volume used by the Kubernetes workload. +type Volume struct { + _ struct{} `type:"structure"` + + // Represents a pre-existing file or directory on the host machine that the + // volume maps to. + HostPath *HostPath `locationName:"hostPath" type:"structure"` + + // Volume name. + Name *string `locationName:"name" 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 Volume) 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 Volume) GoString() string { + return s.String() +} + +// SetHostPath sets the HostPath field's value. +func (s *Volume) SetHostPath(v *HostPath) *Volume { + s.HostPath = v + return s +} + +// SetName sets the Name field's value. +func (s *Volume) SetName(v string) *Volume { + s.Name = &v + return s +} + +// Container volume mount. +type VolumeMount struct { + _ struct{} `type:"structure"` + + // Volume mount path. + MountPath *string `locationName:"mountPath" type:"string"` + + // Volume mount name. + Name *string `locationName:"name" 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 VolumeMount) 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 VolumeMount) GoString() string { + return s.String() +} + +// SetMountPath sets the MountPath field's value. +func (s *VolumeMount) SetMountPath(v string) *VolumeMount { + s.MountPath = &v + return s +} + +// SetName sets the Name field's value. +func (s *VolumeMount) SetName(v string) *VolumeMount { + s.Name = &v + return s +} + const ( // AdminStatusEnabled is a AdminStatus enum value AdminStatusEnabled = "ENABLED" @@ -15889,6 +16890,9 @@ const ( // DataSourceS3Logs is a DataSource enum value DataSourceS3Logs = "S3_LOGS" + + // DataSourceKubernetesAuditLogs is a DataSource enum value + DataSourceKubernetesAuditLogs = "KUBERNETES_AUDIT_LOGS" ) // DataSource_Values returns all elements of the DataSource enum @@ -15898,6 +16902,7 @@ func DataSource_Values() []string { DataSourceCloudTrail, DataSourceDnsLogs, DataSourceS3Logs, + DataSourceKubernetesAuditLogs, } }